feature: po pay downpayment
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
const URL = "";
|
||||
const URL = "/one-api/mockup/receive-item-po/ReceiveItemPOAsset";
|
||||
|
||||
async function request(endpoint, param) {
|
||||
async function request(endpoint, params) {
|
||||
try {
|
||||
const resp = await axios.post(URL + endpoint, param);
|
||||
const resp = await axios.post(URL + endpoint, params);
|
||||
if (resp.status !== 200) {
|
||||
throw new Error(resp.statusText);
|
||||
}
|
||||
@@ -11,10 +11,62 @@ async function request(endpoint, param) {
|
||||
return {
|
||||
status: "ERR",
|
||||
message: e.message
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export async function lookupOrderAssetReceived(param) {
|
||||
return request("/lookupOrderAssetReceived", param);
|
||||
export async function getListSupplier(params) {
|
||||
return request("/getListSupplier", params);
|
||||
}
|
||||
|
||||
export async function getListCabang(params) {
|
||||
return request("/getListCabang", params);
|
||||
}
|
||||
|
||||
export async function getListGudang(params) {
|
||||
return request("/getListGudang", params);
|
||||
}
|
||||
|
||||
export async function getListStaff(params) {
|
||||
return request("/getListStaff", params);
|
||||
}
|
||||
|
||||
export async function searchOrderAsset(params) {
|
||||
return request("/searchOrderAsset", params);
|
||||
}
|
||||
|
||||
export async function getListingROAsset(params) {
|
||||
return request("/getListingROAsset", params);
|
||||
}
|
||||
|
||||
export async function generatePOItemReceive(params) {
|
||||
return request("/generatePOItemReceive", params);
|
||||
}
|
||||
|
||||
export async function createReceiveOrder(params) {
|
||||
return request("/createReceiveOrder", params);
|
||||
}
|
||||
|
||||
export async function editReceiveOrder(params) {
|
||||
return request("/editReceivedOrder", params);
|
||||
}
|
||||
|
||||
export async function deleteReceiveOrder(params) {
|
||||
return request("/deleteReceiveOrder", params);
|
||||
}
|
||||
|
||||
export async function confirmReceiveOrder(params) {
|
||||
return request("/confirmReceiveOrder", params);
|
||||
}
|
||||
|
||||
export async function uploadAttachment(params) {
|
||||
return request("/uploadAttachment", params)
|
||||
}
|
||||
|
||||
export async function getListAttachment(params) {
|
||||
return request("/getListAttachment", params)
|
||||
}
|
||||
|
||||
export async function getDetailDataROAsset(params) {
|
||||
return request("/getDetailDataROAsset", params)
|
||||
}
|
||||
|
||||
@@ -174,7 +174,21 @@ module.exports = {
|
||||
},
|
||||
SimpanAttachment() {
|
||||
if (!this.loading_process) {
|
||||
let formdata = new FormData();
|
||||
let listfiles = this.attachFiles;
|
||||
let received = this.selected_roasset;
|
||||
|
||||
for (let index = 0; index < listfiles.length; index++) {
|
||||
const file = listfiles[index];
|
||||
formdata.append('files['+index+']', file);
|
||||
}
|
||||
|
||||
formdata.append('token', one_token());
|
||||
formdata.append('ronumber', received.ReceiveOrderPoNumber);
|
||||
formdata.append('contractID', received.PurchaseOrderAssetContractID);
|
||||
formdata.append('roID', received.ReceiveOrderPoID);
|
||||
|
||||
this.$store.dispatch("roasset/uploadAttachment", formdata);
|
||||
} else {
|
||||
let snac = { color: 'warning', msg: 'proses sedang berjalan', state: true };
|
||||
this.$store.commit("roasset/update_snackbar", snac);
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
<template>
|
||||
<v-dialog v-model="dialog_confirm" persistent width="40vw">
|
||||
<v-card>
|
||||
<v-card-title class="headline grey lighten-2">KONFIRMASI RECEIVE ORDER ASSET</v-card-title>
|
||||
<v-card-text>
|
||||
<v-layout row wrap>
|
||||
<v-flex xs3 class="pr-2"><strong>Tanggal</strong></v-flex>
|
||||
<v-flex xs9>: {{ selected_roasset.ReceiveOrderPoIDate }}</v-flex>
|
||||
|
||||
<v-flex xs3 class="pr-2"><strong>Nomor</strong></v-flex>
|
||||
<v-flex xs9>: {{ selected_roasset.ReceiveOrderPoNumber }}</v-flex>
|
||||
|
||||
<v-flex xs3 class="pr-2"><strong>Nomor Referensi</strong></v-flex>
|
||||
<v-flex xs9>: {{ selected_roasset.ReceiveOrderPoRefNumber }}</v-flex>
|
||||
|
||||
<v-flex xs3 class="pr-2"><strong>Supplier</strong></v-flex>
|
||||
<v-flex xs9>: {{ selected_roasset.SupplierName }}</v-flex>
|
||||
|
||||
<v-flex xs3 class="pr-2"><strong>Catatan</strong></v-flex>
|
||||
<v-flex xs9>: {{ selected_roasset.ReceiveOrderPoNote }}</v-flex>
|
||||
</v-layout>
|
||||
</v-card-text>
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn @click="batal()" color="error" class="white--text">Batal</v-btn>
|
||||
<v-btn @click="confirmOrder()" color="primary" class="white--text">Konfirmasi</v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
data() {
|
||||
return {
|
||||
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
dialog_confirm: {
|
||||
get() {
|
||||
return this.$store.state.roasset.dialog_confirm;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("roasset/update_dialog_confirm", val);
|
||||
}
|
||||
},
|
||||
selected_roasset: {
|
||||
get() {
|
||||
return this.$store.state.roasset.selected_roasset;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("roasset/update_selected_roasset", val);
|
||||
}
|
||||
},
|
||||
loading_process() {
|
||||
return this.$store.state.roasset.loading_process;
|
||||
},
|
||||
preview_attachment() {
|
||||
return this.$store.state.roasset.preview_attachment
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
batal() {
|
||||
this.selected_roasset = {}
|
||||
this.dialog_confirm = false
|
||||
},
|
||||
confirmOrder() {
|
||||
if (this.preview_attachment.length < 1) {
|
||||
const msg = "Belum upload bukti terima";
|
||||
const snac = { color: 'error', msg: msg, state: false };
|
||||
this.$store.commit("roasset/update_snackbar", snac);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.loading_process) {
|
||||
const received = this.selected_roasset;
|
||||
this.$store.dispatch("roasset/confirmReceiveOrder", received.ReceiveOrderPoID);
|
||||
} else {
|
||||
const msg = "Masih terdapat proses lain yang berjalan";
|
||||
const snac = { color: 'error', msg: msg, state: false };
|
||||
this.$store.commit("roasset/update_snackbar", snac);
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {}
|
||||
}
|
||||
</script>
|
||||
@@ -3,20 +3,22 @@
|
||||
<v-card>
|
||||
<v-card-title class="headline grey lighten-2">DELETE RECEIVE ORDER ASSET</v-card-title>
|
||||
<v-card-text>
|
||||
<v-flex xs3 class="pr-2"><strong>Tanggal</strong></v-flex>
|
||||
<v-flex xs9>: {{ }}</v-flex>
|
||||
<v-layout row wrap>
|
||||
<v-flex xs3 class="pr-2"><strong>Tanggal</strong></v-flex>
|
||||
<v-flex xs9>: {{ selected_roasset.ReceiveOrderPoIDate }}</v-flex>
|
||||
|
||||
<v-flex xs3 class="pr-2"><strong>Nomor</strong></v-flex>
|
||||
<v-flex xs9>: {{ }}</v-flex>
|
||||
<v-flex xs3 class="pr-2"><strong>Nomor</strong></v-flex>
|
||||
<v-flex xs9>: {{ selected_roasset.ReceiveOrderPoNumber }}</v-flex>
|
||||
|
||||
<v-flex xs3 class="pr-2"><strong>Nomor Referensi</strong></v-flex>
|
||||
<v-flex xs9>: {{ }}</v-flex>
|
||||
<v-flex xs3 class="pr-2"><strong>Nomor Referensi</strong></v-flex>
|
||||
<v-flex xs9>: {{ selected_roasset.ReceiveOrderPoRefNumber }}</v-flex>
|
||||
|
||||
<v-flex xs3 class="pr-2"><strong>Supplier</strong></v-flex>
|
||||
<v-flex xs9>: {{ }}</v-flex>
|
||||
<v-flex xs3 class="pr-2"><strong>Supplier</strong></v-flex>
|
||||
<v-flex xs9>: {{ selected_roasset.SupplierName }}</v-flex>
|
||||
|
||||
<v-flex xs3 class="pr-2"><strong>Catatan</strong></v-flex>
|
||||
<v-flex xs9>: {{ }}</v-flex>
|
||||
<v-flex xs3 class="pr-2"><strong>Catatan</strong></v-flex>
|
||||
<v-flex xs9>: {{ selected_roasset.ReceiveOrderPoNote }}</v-flex>
|
||||
</v-layout>
|
||||
</v-card-text>
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
@@ -38,26 +40,39 @@ module.exports = {
|
||||
computed: {
|
||||
dialog_delete: {
|
||||
get() {
|
||||
return this.$store.state.roasset.dialog_delete
|
||||
return this.$store.state.roasset.dialog_delete;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("roasset/update_dialog_delete", val)
|
||||
this.$store.commit("roasset/update_dialog_delete", val);
|
||||
}
|
||||
},
|
||||
selected_roasset: {
|
||||
get() {
|
||||
return this.$store.state.roasset.selected_roasset
|
||||
return this.$store.state.roasset.selected_roasset;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("roasset/update_selected_roasset", val)
|
||||
this.$store.commit("roasset/update_selected_roasset", val);
|
||||
}
|
||||
},
|
||||
loading_process() {
|
||||
return this.$store.state.roasset.loading_process;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
batalDelete() {
|
||||
this.selected_roasset = {}
|
||||
this.dialog_delete = false
|
||||
},
|
||||
confirmDelete() { }
|
||||
confirmDelete() {
|
||||
if (!this.loading_process) {
|
||||
const received = this.selected_roasset;
|
||||
this.$store.dispatch("roasset/deleteReceiveAsset", received.ReceiveOrderPoID);
|
||||
} else {
|
||||
const msg = "Masih terdapat proses lain yang berjalan";
|
||||
const snac = { color: 'error', msg: msg, state: false };
|
||||
this.$store.commit("roasset/update_snackbar", snac);
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,185 @@
|
||||
<template>
|
||||
<v-dialog v-model="dialog_inspeksi" persistent width="40vw">
|
||||
<v-card>
|
||||
<v-card-title class="headline grey lighten-2" primary-title>
|
||||
FORM INSPEKSI ASET {{ selected_item_received.M_ItemDesc }}
|
||||
</v-card-title>
|
||||
|
||||
<v-card-text>
|
||||
<v-layout row>
|
||||
<v-flex xs6 pr-1>
|
||||
<v-text-field label="Jumlah Pesan" type="number" min="0" hide-details
|
||||
v-model="form_inspeksi.qty_po" outline step="1"></v-text-field>
|
||||
</v-flex>
|
||||
<v-flex xs6 pl-1>
|
||||
<v-text-field label="Jumlah Actual" type="number" min="0" hide-details
|
||||
v-model="form_inspeksi.qty_ro" outline step="1"></v-text-field>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
|
||||
<v-layout row mt-2>
|
||||
<v-flex xs6 pr-1>
|
||||
<v-menu v-model="menuDatePo" lazy offset-y max-width="290px" full-width
|
||||
transition="scale-transition" min-width="290px" :nudge-right="40"
|
||||
:close-on-content-click="false">
|
||||
<template v-slot:activator="{ on }">
|
||||
<v-text-field :value="form_inspeksi.date_po" v-on="on" readonly
|
||||
label="Tanggal Terima Pesan" outline hide-details></v-text-field>
|
||||
</template>
|
||||
<v-date-picker v-model="form_inspeksi.date_po" no-title
|
||||
@input="menuDatePo = false"></v-date-picker>
|
||||
</v-menu>
|
||||
</v-flex>
|
||||
<v-flex xs6 pl-1>
|
||||
<v-menu v-model="menuDateRo" lazy offset-y max-width="290px" full-width
|
||||
transition="scale-transition" min-width="290px" :nudge-right="40"
|
||||
:close-on-content-click="false">
|
||||
<template v-slot:activator="{ on }">
|
||||
<v-text-field :value="form_inspeksi.date_ro" v-on="on" readonly
|
||||
label="Tanggal Terima Actual" outline hide-details></v-text-field>
|
||||
</template>
|
||||
<v-date-picker v-model="form_inspeksi.date_ro" no-title
|
||||
@input="menuDateRo = false"></v-date-picker>
|
||||
</v-menu>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
|
||||
<v-layout row mt-2 wrap>
|
||||
<v-flex xs12>
|
||||
<v-radio-group v-model="form_inspeksi.condt_kemasan" label="Kondisi Kemasan" row hide-details>
|
||||
<v-radio label="Baik" value="1"></v-radio>
|
||||
<v-radio label="Tidak Baik" value="2"></v-radio>
|
||||
</v-radio-group>
|
||||
<v-text-field v-if="form_inspeksi.condt_kemasan == '2'" class="mt-2" label="Catatan Kemasan"
|
||||
outline hide-details v-model="form_inspeksi.catatan_kemasan"></v-text-field>
|
||||
</v-flex>
|
||||
<v-flex xs12 mt-2>
|
||||
<v-radio-group v-model="form_inspeksi.condt_pengiriman" label="Kondisi Pengiriman" row
|
||||
hide-details>
|
||||
<v-radio label="Sesuai" value="1"></v-radio>
|
||||
<v-radio label="Tidak Sesuai" value="2"></v-radio>
|
||||
</v-radio-group>
|
||||
<v-text-field v-if="form_inspeksi.condt_pengiriman == '2'" class="mt-2" outline
|
||||
label="Catatan Pengiriman" hide-details
|
||||
v-model="form_inspeksi.catatan_kirim"></v-text-field>
|
||||
</v-flex>
|
||||
<v-flex xs12 mt-2>
|
||||
<v-radio-group v-model="form_inspeksi.summary" row label="Kesimpulan" hide-details>
|
||||
<v-radio label="Diterima" value="accept"></v-radio>
|
||||
<v-radio label="Ditolak" value="reject"></v-radio>
|
||||
<v-radio label="Diterima dengan Catatan" value="acceptnote"></v-radio>
|
||||
</v-radio-group>
|
||||
</v-flex>
|
||||
<v-flex xs12 mt-2>
|
||||
<v-textarea v-if="
|
||||
form_inspeksi.summary == 'reject' ||
|
||||
form_inspeksi.summary == 'acceptnote'
|
||||
" v-model="form_inspeksi.catatan" outline auto-grow rows="1" label="Catatan"
|
||||
hide-details></v-textarea>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
|
||||
<v-layout row mt-2>
|
||||
<v-flex xs6 pr-1>
|
||||
<v-autocomplete label="Staff Penerima" outline hide-details v-model="form_inspeksi.pemeriksa"
|
||||
:items="list_staff" item-text="M_UserUsername" item-value="M_UserID"></v-autocomplete>
|
||||
</v-flex>
|
||||
<v-flex xs6 pl-1>
|
||||
<v-text-field label="Petugas Pengirim" outline hide-details
|
||||
v-model="form_inspeksi.pengirim"></v-text-field>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
</v-card-text>
|
||||
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn color="red" flat outline @click="closeInspeksi()">Tutup</v-btn>
|
||||
<v-btn color="green" flat outline @click="simpanInspeksi()">Simpan</v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
data() {
|
||||
return {
|
||||
menuDatePo: false,
|
||||
menuDateRo: false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
dialog_inspeksi: {
|
||||
get() {
|
||||
return this.$store.state.orderAsset.dialog_inspeksi;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("orderAsset/update_dialog_inspeksi", val);
|
||||
}
|
||||
},
|
||||
form_inspeksi: {
|
||||
get() {
|
||||
return this.$store.state.orderAsset.form_inspeksi;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("orderAsset/update_form_inspeksi", val);
|
||||
}
|
||||
},
|
||||
selected_item_received: {
|
||||
get() {
|
||||
return this.$store.state.orderAsset.selected_item_received;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("orderAsset/update_selected_item_received", val);
|
||||
}
|
||||
},
|
||||
order_received: {
|
||||
get() {
|
||||
return this.$store.state.orderAsset.order_received;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("orderAsset/update_order_received", val);
|
||||
}
|
||||
},
|
||||
list_staff() {
|
||||
return this.$store.state.orderAsset.list_staff;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
defaultFormInspeksi() {
|
||||
return {
|
||||
qty_po: 0,
|
||||
qty_ro: 0,
|
||||
date_po: moment(new Date()).format("YYYY-MM-DD"),
|
||||
date_ro: moment(new Date()).format("YYYY-MM-DD"),
|
||||
condt_kemasan: "",
|
||||
catatan_kemasan: "",
|
||||
condt_pengiriman: "",
|
||||
catatan_kirim: "",
|
||||
summary: "",
|
||||
catatan: "",
|
||||
pemeriksa: "",
|
||||
pengirim: ""
|
||||
};
|
||||
},
|
||||
closeInspeksi() {
|
||||
this.form_inspeksi = this.defaultFormInspeksi();
|
||||
this.selected_item_received = {};
|
||||
this.dialog_inspeksi = false;
|
||||
},
|
||||
simpanInspeksi() {
|
||||
const dataInspeksi = JSON.parse(JSON.stringify(this.form_inspeksi));
|
||||
const selectedItem = JSON.parse(JSON.stringify(this.selected_item_received));
|
||||
const listOrder = JSON.parse(JSON.stringify(this.order_received));
|
||||
|
||||
const idxToUpdate = listOrder.findIndex((obj) => obj.PODetailID == selectedItem.PODetailID);
|
||||
if (idxToUpdate != -1) {
|
||||
listOrder[idxToUpdate].inspeksi = dataInspeksi;
|
||||
}
|
||||
|
||||
this.order_received = listOrder;
|
||||
this.closeInspeksi();
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@@ -1,61 +1,153 @@
|
||||
<template>
|
||||
<v-dialog v-model="dialog_pick_contract" persistent width="50vw">
|
||||
<v-card>
|
||||
<v-card-title class="headline grey lighten-2">PILIH KONTRAK ORDER ASET</v-card-title>
|
||||
<v-card-text>
|
||||
<v-dialog v-model="dialog_pick_contract" persistent width="60vw">
|
||||
<v-card class="style-limit-heightcard">
|
||||
<v-card-title class="headline grey lighten-2">PILIH ORDER ASET</v-card-title>
|
||||
<v-card-text class="style-limit-heightcontent">
|
||||
<v-layout row wrap>
|
||||
<v-flex xs12>
|
||||
<v-autocomplete :items="[]" :loading="loading" hide-no-data cache-items outline
|
||||
:search-input.sync="searchkey" label="Kontrak Order Aset" return-object
|
||||
v-model="temp_selected" hide-details></v-autocomplete>
|
||||
<v-autocomplete
|
||||
v-model="temp_selected" :loading="loading" hide-details
|
||||
:items="list_item_order" hide-no-data outline
|
||||
:search-input.sync="searchkey" cache-items clearable
|
||||
label="Cari" placeholder="Nama Kontrak, nomor PO"
|
||||
:item-text="formatOrderLabel" return-object
|
||||
></v-autocomplete>
|
||||
</v-flex>
|
||||
<v-flex xs12 mt-2>
|
||||
<v-data-table :headers="headers" :items="[]" class="elevation-1" hide-actions>
|
||||
<v-data-table :headers="headers" class="elevation-1" hide-actions
|
||||
:items="temp_selected ? [temp_selected] : []"
|
||||
:expand="expand" item-key="PurchaseOrderID">
|
||||
<template v-slot:items="props">
|
||||
<tr>
|
||||
<td class="text-xs-start pa-2">
|
||||
{{ }}
|
||||
<tr @click="props.expanded = !props.expanded">
|
||||
<td class="text-xs-center pa-2">
|
||||
<v-icon>{{ props.expanded
|
||||
? "keyboard_arrow_down"
|
||||
: "keyboard_arrow_right"
|
||||
}}</v-icon>
|
||||
</td>
|
||||
<td class="text-xs-start pa-2">
|
||||
{{ }}
|
||||
{{ props.item.PurchaseOrderNumber }}
|
||||
</td>
|
||||
<td class="text-xs-start pa-2">
|
||||
{{ }}
|
||||
{{ props.item.PurchaseOrderAssetContractDate }}
|
||||
</td>
|
||||
<td class="text-xs-start pa-2">
|
||||
{{ props.item.PurchaseOrderAssetContractName }}
|
||||
</td>
|
||||
<td class="text-xs-start pa-2">
|
||||
{{ props.item.SupplierCode }} <br>
|
||||
{{ props.item.SupplierName }}
|
||||
</td>
|
||||
<td class="text-xs-start pa-2">
|
||||
{{ props.item.PurchaseOrderNote }}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
|
||||
<template v-slot:expand="props">
|
||||
<v-card flat>
|
||||
<v-card-text>
|
||||
<v-data-table
|
||||
:headers="b_headers" class="elevation-0"
|
||||
:items="props.item.detail" hide-actions
|
||||
>
|
||||
<template v-slot:items="expnd">
|
||||
<tr>
|
||||
<td class="text-xs-center pa-2">
|
||||
{{ expnd.item.M_ItemCode }}
|
||||
</td>
|
||||
<td class="text-xs-center pa-2">
|
||||
{{ expnd.item.M_ItemDesc }}
|
||||
</td>
|
||||
<td class="text-xs-center pa-2">
|
||||
{{ expnd.item.ItemUnitName }}
|
||||
</td>
|
||||
<td class="text-xs-center pa-2">
|
||||
{{ expnd.item.qty }}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
</v-data-table>
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
</template>
|
||||
</v-data-table>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
</v-card-text>
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn @click="cancelPickContract()" color="error" class="white--text">Batal</v-btn>
|
||||
<v-btn @click="pickContractOrder()" color="primary" class="white--text">Simpan</v-btn>
|
||||
<v-btn @click="batalItemOrder()" color="error" class="white--text">Batal</v-btn>
|
||||
<v-btn @click="simpanItemOrder()" color="primary" class="white--text">Simpan</v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.style-limit-heightcard {
|
||||
max-height: 60vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.style-limit-heightcontent {
|
||||
overflow-y: auto;
|
||||
flex: 1 1 auto;
|
||||
min-height: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
data() {
|
||||
return {
|
||||
searchkey: "",
|
||||
loading: false,
|
||||
expand: false,
|
||||
temp_selected: null,
|
||||
headers: [
|
||||
{
|
||||
text: "ITEM", align: "center", sortable: false, value: "date",
|
||||
width: "60%", class: "pa-1 blue lighten-3 white--text",
|
||||
text: " ", align: "center", sortable: false, value: "check",
|
||||
width: "5%", class: "pa-1 blue lighten-3 white--text",
|
||||
},
|
||||
{
|
||||
text: "UNIT", align: "center", sortable: false, value: "date",
|
||||
text: "NO PURCHASE ORDER", align: "center", sortable: false, value: "po",
|
||||
width: "25%", class: "pa-1 blue lighten-3 white--text",
|
||||
},
|
||||
{
|
||||
text: "TANGGAL KONTRAK", align: "center", sortable: false, value: "date",
|
||||
width: "15%", class: "pa-1 blue lighten-3 white--text",
|
||||
},
|
||||
{
|
||||
text: "NAMA KONTRAK", align: "center", sortable: false, value: "date",
|
||||
width: "15%", class: "pa-1 blue lighten-3 white--text",
|
||||
},
|
||||
{
|
||||
text: "SUPPLIER", align: "center", sortable: false, value: "unit",
|
||||
width: "20%", class: "pa-1 blue lighten-3 white--text",
|
||||
},
|
||||
{
|
||||
text: "SATUAN", align: "center", sortable: false, value: "date",
|
||||
text: "CATATAN", align: "center", sortable: false, value: "qty",
|
||||
width: "20%", class: "pa-1 blue lighten-3 white--text",
|
||||
}
|
||||
],
|
||||
b_headers: [
|
||||
{
|
||||
text: "ITEM CODE", align: "center", sortable: false,
|
||||
value: "code", width: "25%", class: "pa-1 blue lighten-4 black--text",
|
||||
},
|
||||
{
|
||||
text: "ITEM", align: "center", sortable: false,
|
||||
value: "item", width: "25%", class: "pa-1 blue lighten-4 black--text",
|
||||
},
|
||||
{
|
||||
text: "UNIT", align: "center", sortable: false,
|
||||
value: "unit", width: "25%", class: "pa-1 blue lighten-4 black--text",
|
||||
},
|
||||
{
|
||||
text: "QTY", align: "center", sortable: false,
|
||||
value: "qty", width: "25%", class: "pa-1 blue lighten-4 black--text",
|
||||
},
|
||||
]
|
||||
}
|
||||
@@ -63,19 +155,79 @@ module.exports = {
|
||||
computed: {
|
||||
dialog_pick_contract: {
|
||||
get() {
|
||||
return this.$store.state.roasset.dialog_pick_contract;
|
||||
return this.$store.state.orderAsset.dialog_pick_contract;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("roasset/update_dialog_pick_contract", val);
|
||||
this.$store.commit("orderAsset/update_dialog_pick_contract", val);
|
||||
}
|
||||
}
|
||||
},
|
||||
list_item_order: {
|
||||
get() {
|
||||
return this.$store.state.orderAsset.list_item_order;
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("orderAsset/update_list_item_order", val);
|
||||
}
|
||||
},
|
||||
form_receive: {
|
||||
get() {
|
||||
return this.$store.state.orderAsset.form_receive
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("orderAsset/update_form_receive", val)
|
||||
}
|
||||
},
|
||||
order_received: {
|
||||
get() {
|
||||
return this.$store.state.orderAsset.order_received
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("orderAsset/update_order_received", val)
|
||||
}
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
cancelPickContract() {
|
||||
formatOrderLabel(item) {
|
||||
if (!item) return "";
|
||||
return `${item.PurchaseOrderNumber} - ${item.PurchaseOrderAssetContractName}`;
|
||||
},
|
||||
cariOrderAsset(newval) {
|
||||
this.loading = true;
|
||||
setTimeout(() => {
|
||||
this.$store.dispatch("orderAsset/searchOrderAsset", newval);
|
||||
this.loading = false;
|
||||
}, 500);
|
||||
},
|
||||
batalItemOrder() {
|
||||
this.temp_selected = null;
|
||||
this.dialog_pick_contract = false;
|
||||
},
|
||||
pickContractOrder() { }
|
||||
simpanItemOrder() {
|
||||
let form = JSON.parse(JSON.stringify(this.form_receive));
|
||||
const receivedOrder = JSON.parse(JSON.stringify(this.temp_selected));
|
||||
|
||||
form.ponumber = receivedOrder.PurchaseOrderNumber;
|
||||
form.shipping = receivedOrder.PurchaseOrderShippingCost;
|
||||
form.shippingIsPaid = receivedOrder.PurchaseOrderShippingCostStatus
|
||||
|
||||
this.form_receive = form;
|
||||
this.order_received = receivedOrder.detail;
|
||||
|
||||
this.temp_selected = null;
|
||||
this.dialog_pick_contract = false;
|
||||
}
|
||||
},
|
||||
watch: {}
|
||||
watch: {
|
||||
searchkey(newval, oldval) {
|
||||
if (newval == oldval) return;
|
||||
if (!newval) {
|
||||
this.cariOrderAsset("");
|
||||
return;
|
||||
}
|
||||
|
||||
if (newval.length < 1) return;
|
||||
this.cariOrderAsset(newval);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -1,77 +1,128 @@
|
||||
<template>
|
||||
<v-dialog v-model="dialog_receive_aset" persistent width="70vw">
|
||||
<v-card>
|
||||
<v-card class="style-limit-heightcard">
|
||||
<v-card-title class="headline grey lighten-2">FORM TERIMA ASET</v-card-title>
|
||||
<v-card-text style="max-height: 80vh; overflow-y: auto;">
|
||||
<v-card-text class="style-limit-heightcontent">
|
||||
<v-layout row wrap>
|
||||
<v-flex xs4>
|
||||
<v-flex xs4 pa-1>
|
||||
<v-menu offset-y lazy min-width="290px" transition="scale-transition" max-width="290px"
|
||||
v-model="menuROdate" full-width :nudge-right="40" :close-on-content-click="false">
|
||||
<template v-slot:activator="{ on }">
|
||||
<v-text-field label="Tanggal RO" hide-details readonly v-on="on" outline
|
||||
v-model="formattedRODate"></v-text-field>
|
||||
</template>
|
||||
<v-date-picker no-title @input="menuROdate = false"
|
||||
<v-date-picker no-title @input="menuROdate = false" :readonly="readonly_mode"
|
||||
v-model="form_receive.date"></v-date-picker>
|
||||
</v-menu>
|
||||
</v-flex>
|
||||
<v-flex xs4 pl-2>
|
||||
<v-autocomplete :items="[]" hide-details outline label="Vendor" v-model="form_receive.supplier"
|
||||
item-text="SupplierName" item-value="SupplierID" @input=""></v-autocomplete>
|
||||
<v-flex xs4 pa-1>
|
||||
<v-autocomplete :items="list_supplier" hide-details outline label="Vendor"
|
||||
v-model="form_receive.supplier" item-text="SupplierName" :readonly="readonly_mode"
|
||||
item-value="SupplierID"></v-autocomplete>
|
||||
</v-flex>
|
||||
<v-flex xs4 pl-2>
|
||||
<v-flex xs4 pa-1>
|
||||
<v-text-field hide-details outline placeholder="Nomor Delivery / Supplier Invoice"
|
||||
v-model="form_receive.reference" label="Referensi"></v-text-field>
|
||||
v-model="form_receive.reference" label="Referensi" :readonly="readonly_mode"
|
||||
></v-text-field>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
|
||||
<v-layout row wrap class="mt-2">
|
||||
<v-flex xs2>
|
||||
<v-layout row wrap>
|
||||
<v-flex xs4 pa-1>
|
||||
<v-text-field hide-details outline label="No PO" placeholder="nomor po"
|
||||
v-model="form_receive.ponumber" readonly></v-text-field>
|
||||
</v-flex>
|
||||
<v-flex xs2 pl-2>
|
||||
<v-text-field hide-details outline label="Total Tagihan" placeholder="0"
|
||||
v-model="form_receive.totalbill" readonly></v-text-field>
|
||||
<v-flex xs2 pa-1>
|
||||
<v-autocomplete
|
||||
:items="list_cabang" hide-details outline
|
||||
v-model="form_receive.branchID" label="Cabang"
|
||||
item-text="M_BranchName" item-value="M_BranchID"
|
||||
@change="onChangeCabang" :readonly="readonly_mode"
|
||||
></v-autocomplete>
|
||||
</v-flex>
|
||||
<v-flex xs2 pl-2>
|
||||
<v-text-field hide-details outline label="Uang Muka" placeholder="0"
|
||||
v-model="form_receive.downpayment" readonly></v-text-field>
|
||||
<v-flex xs2 pa-1>
|
||||
<v-autocomplete
|
||||
:items="list_gudang" hide-details outline
|
||||
v-model="form_receive.gudangID" label="Gudang"
|
||||
item-text="WarehouseName" item-value="WarehouseID"
|
||||
:readonly="readonly_mode"
|
||||
></v-autocomplete>
|
||||
</v-flex>
|
||||
<v-flex xs2 pl-2>
|
||||
<v-text-field hide-details outline label="Cicilan" placeholder="0"
|
||||
v-model="form_receive.cicilan" readonly></v-text-field>
|
||||
</v-flex>
|
||||
<v-flex xs2 pl-2>
|
||||
<v-text-field hide-details outline label="Lama Kontrak (bulan)" placeholder="0"
|
||||
v-model="form_receive.contractlength" readonly></v-text-field>
|
||||
</v-flex>
|
||||
<v-flex xs2 pl-2>
|
||||
<v-text-field hide-details outline label="Tanggal Bayar" placeholder="0"
|
||||
v-model="form_receive.datepayment" readonly></v-text-field>
|
||||
<v-flex xs4 pa-1>
|
||||
<v-text-field hide-details outline label="Biaya Pengiriman" placeholder="0"
|
||||
v-model="form_receive.shipping" :readonly="readonly_mode"></v-text-field>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
|
||||
<v-layout row wrap class="mt-2">
|
||||
<v-flex xs12>
|
||||
<v-layout row wrap>
|
||||
<v-flex xs12 pa-1>
|
||||
<v-textarea auto-grow rows="1" outline label="Catatan" hide-details
|
||||
v-model="form_receive.catatan"></v-textarea>
|
||||
v-model="form_receive.catatan" :readonly="readonly_mode"></v-textarea>
|
||||
</v-flex>
|
||||
<v-flex xs3 mt-2>
|
||||
<!-- :disabled="form_receive.supplier == ''" -->
|
||||
<v-btn block color="info" @click="pickKontrakAset()">
|
||||
PILIH KONTRAK
|
||||
<v-flex xs3 pa-1 mt-1>
|
||||
<v-btn block color="info" @click="pickKontrakAset()"
|
||||
:disabled="isFormEmpty()" v-show="!readonly_mode">
|
||||
PILIH ORDER ASSET
|
||||
</v-btn>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
|
||||
<v-layout row wrap class="mt-3">
|
||||
<!-- <v-flex xs12 v-if="item_receive.length > 0"> -->
|
||||
<v-flex xs12>
|
||||
<v-data-table :headers="headers" :items="[]" class="elevation-1" hide-actions>
|
||||
<v-flex xs12 v-if="order_received.length > 0">
|
||||
<v-data-table :headers="headers" :items="order_received"
|
||||
item-key="PODetailID" class="elevation-1" hide-actions>
|
||||
<template v-slot:items="props">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td class="text-xs-center pa-1">
|
||||
<v-chip label small>{{ props.item.M_ItemCode }}</v-chip> <br>
|
||||
{{ props.item.M_ItemDesc }}
|
||||
</td>
|
||||
<td class="text-xs-center pa-1">
|
||||
{{ props.item.qty }}
|
||||
</td>
|
||||
<td class="text-xs-center pa-1">
|
||||
{{ props.item.ItemUnitName }}
|
||||
</td>
|
||||
<td class="text-xs-center pa-1">
|
||||
<div v-if="props.item.inspeksi">
|
||||
<p v-if="props.item.inspeksi.summary == 'accept'" class="mb-0">
|
||||
Diterima
|
||||
</p>
|
||||
<p v-else-if="props.item.inspeksi.summary == 'reject'" class="mb-0">
|
||||
Ditolak <br>
|
||||
{{ props.item.inspeksi.catatan }}
|
||||
</p>
|
||||
<p v-else class="mb-0">
|
||||
Diterima dengan catatan <br>
|
||||
{{ props.item.inspeksi.catatan }}
|
||||
</p>
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-xs-center pa-1">
|
||||
<v-tooltip bottom pr-2>
|
||||
<template v-slot:activator="{ on }">
|
||||
<v-btn
|
||||
color="green" dark @click="openInspeksi(props.item)"
|
||||
style="min-width: 40px; margin: 0;" small v-on="on"
|
||||
>
|
||||
<v-icon small>note_add</v-icon>
|
||||
</v-btn>
|
||||
</template>
|
||||
<span>Inspeksi Jasa</span>
|
||||
</v-tooltip>
|
||||
|
||||
<v-tooltip bottom v-show="!readonly_mode">
|
||||
<template v-slot:activator="{ on }">
|
||||
<v-btn
|
||||
color="warning" dark @click="cancelOrder(props.item)"
|
||||
style="min-width: 40px; margin: 0;" small v-on="on"
|
||||
>
|
||||
<v-icon small>cancel</v-icon>
|
||||
</v-btn>
|
||||
</template>
|
||||
<span>Batal Order</span>
|
||||
</v-tooltip>
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
</v-data-table>
|
||||
@@ -80,13 +131,27 @@
|
||||
</v-card-text>
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn @click="dialog_receive_aset = false" color="error" class="white--text">Batal</v-btn>
|
||||
<v-btn color="primary" class="white--text">Simpan</v-btn>
|
||||
<v-btn @click="batalReceiveOrder()" color="error" class="white--text">Batal</v-btn>
|
||||
<v-btn :disabled="readonly_mode" @click="simpanReceivedOrder()" color="primary" class="white--text">Simpan</v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.style-limit-heightcard {
|
||||
max-height: 60vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.style-limit-heightcontent {
|
||||
overflow-y: auto;
|
||||
flex: 1 1 auto;
|
||||
min-height: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
module.exports = {
|
||||
data() {
|
||||
@@ -94,24 +159,24 @@ module.exports = {
|
||||
menuROdate: false,
|
||||
headers: [
|
||||
{
|
||||
text: "ITEM", align: "center", sortable: false,
|
||||
value: "nopo", width: "40%", class: "pa-1 blue lighten-3 white--text",
|
||||
text: "ITEM", align: "center", sortable: false, value: "item",
|
||||
width: "40%", class: "pa-1 blue lighten-3 white--text",
|
||||
},
|
||||
{
|
||||
text: "QTY", align: "center", sortable: false,
|
||||
value: "type", width: "10%", class: "pa-1 blue lighten-3 white--text",
|
||||
text: "QTY", align: "center", sortable: false, value: "qty",
|
||||
width: "10%", class: "pa-1 blue lighten-3 white--text",
|
||||
},
|
||||
{
|
||||
text: "UNIT ITEM", align: "center", sortable: false,
|
||||
value: "item", width: "15%", class: "pa-1 blue lighten-3 white--text",
|
||||
text: "UNIT ITEM", align: "center", sortable: false, value: "unit",
|
||||
width: "15%", class: "pa-1 blue lighten-3 white--text",
|
||||
},
|
||||
{
|
||||
text: "INSPEKSI", align: "center", sortable: false,
|
||||
value: "inspec", width: "20%", class: "pa-1 blue lighten-3 white--text",
|
||||
text: "INSPEKSI", align: "center", sortable: false, value: "inspec",
|
||||
width: "20%", class: "pa-1 blue lighten-3 white--text",
|
||||
},
|
||||
{
|
||||
text: "AKSI", align: "center", sortable: false,
|
||||
value: "act", width: "15%", class: "pa-1 blue lighten-3 white--text",
|
||||
text: "AKSI", align: "center", sortable: false, value: "act",
|
||||
width: "15%", class: "pa-1 blue lighten-3 white--text",
|
||||
},
|
||||
]
|
||||
}
|
||||
@@ -119,30 +184,45 @@ module.exports = {
|
||||
computed: {
|
||||
dialog_receive_aset: {
|
||||
get() {
|
||||
return this.$store.state.roasset.dialog_receive_aset
|
||||
return this.$store.state.orderAsset.dialog_receive_aset
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("roasset/update_dialog_receive_aset", val)
|
||||
this.$store.commit("orderAsset/update_dialog_receive_aset", val)
|
||||
}
|
||||
},
|
||||
form_receive: {
|
||||
get() {
|
||||
return this.$store.state.roasset.form_receive
|
||||
return this.$store.state.orderAsset.form_receive
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("roasset/update_form_receive", val)
|
||||
this.$store.commit("orderAsset/update_form_receive", val)
|
||||
}
|
||||
},
|
||||
item_receive: {
|
||||
order_received: {
|
||||
get() {
|
||||
return this.$store.state.roasset.item_receive
|
||||
return this.$store.state.orderAsset.order_received
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("roasset/update_item_receive", val)
|
||||
this.$store.commit("orderAsset/update_order_received", val)
|
||||
}
|
||||
},
|
||||
readonly_mode() {
|
||||
return this.$store.state.orderAsset.readonly_mode
|
||||
},
|
||||
formattedRODate() {
|
||||
return this.formatDate(this.form_receive.date)
|
||||
return this.formatDate(this.form_receive.date);
|
||||
},
|
||||
list_cabang() {
|
||||
return this.$store.state.orderAsset.list_cabang;
|
||||
},
|
||||
list_gudang() {
|
||||
return this.$store.state.orderAsset.list_gudang;
|
||||
},
|
||||
list_supplier() {
|
||||
return this.$store.state.orderAsset.list_supplier;
|
||||
},
|
||||
loading_process() {
|
||||
return this.$store.state.roasset.loading_process;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -151,8 +231,107 @@ module.exports = {
|
||||
const [year, month, day] = date.split('-');
|
||||
return `${day}-${month}-${year}`;
|
||||
},
|
||||
formatCurrency(value) {
|
||||
const num = parseFloat(value);
|
||||
if (isNaN(num)) return 0;
|
||||
return num.toFixed(2).replace('.', ',').replace(/\B(?=(\d{3})+(?!\d))/g, ".");
|
||||
},
|
||||
onChangeCabang(branchID) {
|
||||
if (!branchID) return;
|
||||
this.$store.dispatch("orderAsset/listingGudang", branchID);
|
||||
},
|
||||
isFormEmpty() {
|
||||
const form = this.form_receive;
|
||||
if (form.supplier == "" || form.gudangID == "") return true;
|
||||
return false;
|
||||
},
|
||||
pickKontrakAset() {
|
||||
this.$store.commit("roasset/update_dialog_pick_contract", true);
|
||||
this.$store.dispatch("orderAsset/searchOrderAsset", "");
|
||||
this.$store.commit("orderAsset/update_dialog_pick_contract", true);
|
||||
},
|
||||
openInspeksi(item) {
|
||||
const selectedItem = JSON.parse(JSON.stringify(item));
|
||||
const formInspeksi = item.inspeksi
|
||||
? JSON.parse(JSON.stringify(item.inspeksi))
|
||||
: {
|
||||
qty_po: item.qty || 0,
|
||||
qty_ro: item.qty || 0,
|
||||
date_po: moment(new Date()).format("YYYY-MM-DD"),
|
||||
date_ro: moment(new Date()).format("YYYY-MM-DD"),
|
||||
condt_kemasan: "",
|
||||
catatan_kemasan: "",
|
||||
condt_pengiriman: "",
|
||||
catatan_kirim: "",
|
||||
summary: "",
|
||||
catatan: "",
|
||||
pemeriksa: "",
|
||||
pengirim: ""
|
||||
};
|
||||
|
||||
this.$store.dispatch("orderAsset/listingStaff");
|
||||
this.$store.commit("orderAsset/update_selected_item_received", selectedItem);
|
||||
this.$store.commit("orderAsset/update_form_inspeksi", formInspeksi);
|
||||
this.$store.commit("orderAsset/update_dialog_inspeksi", true);
|
||||
},
|
||||
cancelOrder(item) {
|
||||
const current = JSON.parse(JSON.stringify(this.order_received));
|
||||
const neworder = current.filter((obj) => obj.PODetailID != item.PODetailID);
|
||||
this.order_received = neworder;
|
||||
},
|
||||
simpanReceivedOrder() {
|
||||
if (this.order_received.length <= 0) {
|
||||
let snac = {color: 'warning', msg: "item tidak boleh kosong", state: true}
|
||||
this.$store.commit("roasset/update_snackbar", snac)
|
||||
return;
|
||||
}
|
||||
|
||||
if (!this.loading_process) {
|
||||
if (!this.form_receive.ReceiveOrderPoID) {
|
||||
this.$store.dispatch("orderAsset/createReceiveOrder");
|
||||
} else {
|
||||
this.$store.dispatch("orderAsset/editReceiveOrder");
|
||||
}
|
||||
} else {
|
||||
let snac = {color: 'warning', msg: "proses masih berjalan", state: true}
|
||||
this.$store.commit("roasset/update_snackbar", snac)
|
||||
}
|
||||
},
|
||||
batalReceiveOrder() {
|
||||
const formReceive = {
|
||||
date: moment(new Date()).format("YYYY-MM-DD"),
|
||||
supplier: "",
|
||||
reference: "",
|
||||
ponumber: "",
|
||||
branchID: "",
|
||||
gudangID: "",
|
||||
shipping: 0,
|
||||
shippingIsPaid: "N",
|
||||
catatan: ""
|
||||
};
|
||||
|
||||
const formInspeksi = {
|
||||
qty_po: 0,
|
||||
qty_ro: 0,
|
||||
date_po: moment(new Date()).format("YYYY-MM-DD"),
|
||||
date_ro: moment(new Date()).format("YYYY-MM-DD"),
|
||||
condt_kemasan: "",
|
||||
catatan_kemasan: "",
|
||||
condt_pengiriman: "",
|
||||
catatan_kirim: "",
|
||||
summary: "",
|
||||
catatan: "",
|
||||
pemeriksa: "",
|
||||
pengirim: ""
|
||||
};
|
||||
|
||||
this.$store.commit("orderAsset/update_form_receive", formReceive);
|
||||
this.$store.commit("orderAsset/update_order_received", []);
|
||||
this.$store.commit("orderAsset/update_list_item_order", []);
|
||||
this.$store.commit("orderAsset/update_selected_item_received", {});
|
||||
this.$store.commit("orderAsset/update_form_inspeksi", formInspeksi);
|
||||
this.$store.commit("orderAsset/update_readonly_mode", false)
|
||||
|
||||
this.dialog_receive_aset = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,40 +48,91 @@
|
||||
<template v-slot:items="props">
|
||||
<tr>
|
||||
<td class="text-xs-center pa-2">
|
||||
{{ props.item.date }}
|
||||
{{ props.item.ReceiveOrderPoIDate }}
|
||||
</td>
|
||||
<td class="text-xs-center pa-2">
|
||||
{{ props.item.receiveordernumber }} <br>
|
||||
{{ props.item.purchaseordernumber }}
|
||||
{{ props.item.ReceiveOrderPoNumber }} <br>
|
||||
{{ props.item.PurchaseOrderNumber }}
|
||||
</td>
|
||||
<td class="text-xs-center pa-2">
|
||||
{{ props.item.suppliername }}
|
||||
</td>
|
||||
<td class="text-xs-start pa-2">
|
||||
<v-layout row wrap>
|
||||
<v-flex xs6>
|
||||
Total tagihan : {{ props.item.totaltagihan }} <br>
|
||||
Besar uang muka : {{ props.item.uangmuka }} <br>
|
||||
</v-flex>
|
||||
<v-flex xs6 pl-2>
|
||||
Status cicilan : {{ props.item.cicilanterbayar }} / {{ props.item.numbercicilan }} <br>
|
||||
Besar cicilan : {{ props.item.besarcicilan }} <br>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
{{ props.item.SupplierName }}
|
||||
</td>
|
||||
<td class="text-xs-center pa-2">
|
||||
{{ props.item.status }}
|
||||
{{ props.item.ReceiveOrderPoNote }}
|
||||
</td>
|
||||
<td class="text-xs-center pa-2">
|
||||
<v-tooltip bottom pr-2>
|
||||
<template v-slot:activator="{ on }">
|
||||
<v-btn color="green" dark @click="uploadAttachment(props.item)"
|
||||
style="min-width: 40px; margin: 0;" small v-on="on">
|
||||
<v-icon small>attachment</v-icon>
|
||||
</v-btn>
|
||||
</template>
|
||||
<span>Upload Bukti</span>
|
||||
</v-tooltip>
|
||||
<div v-if="props.item.ReceiveOrderPoConfirmed == 'Y'">
|
||||
<v-chip small color="primary" text-color="white">Confirmed</v-chip>
|
||||
</div>
|
||||
<div v-else>
|
||||
<v-chip small color="warning" text-color="white">Unconfirmed</v-chip>
|
||||
</div>
|
||||
</td>
|
||||
<td class="text-xs-center pa-2">
|
||||
<div v-show="props.item.ReceiveOrderPoConfirmed != 'Y'">
|
||||
<v-tooltip bottom pr-2>
|
||||
<template v-slot:activator="{ on }">
|
||||
<v-btn color="green" dark @click="uploadAttachment(props.item)"
|
||||
style="min-width: 40px; margin: 0;" small v-on="on">
|
||||
<v-icon small>attachment</v-icon>
|
||||
</v-btn>
|
||||
</template>
|
||||
<span>Upload Bukti</span>
|
||||
</v-tooltip>
|
||||
<v-tooltip bottom pr-2>
|
||||
<template v-slot:activator="{ on }">
|
||||
<v-btn
|
||||
color="warning" dark @click="confirmRO(props.item)"
|
||||
style="min-width: 40px; margin: 0;" small v-on="on"
|
||||
>
|
||||
<v-icon small>send</v-icon>
|
||||
</v-btn>
|
||||
</template>
|
||||
<span>Konfirmasi Receive</span>
|
||||
</v-tooltip>
|
||||
<v-tooltip bottom pr-2>
|
||||
<template v-slot:activator="{ on }">
|
||||
<v-btn
|
||||
color="info" dark @click="editRO(props.item)" v-on="on"
|
||||
style="min-width: 40px; margin: 0;" small
|
||||
>
|
||||
<v-icon small>edit</v-icon>
|
||||
</v-btn>
|
||||
</template>
|
||||
<span>Edit Receive</span>
|
||||
</v-tooltip>
|
||||
<v-tooltip bottom>
|
||||
<template v-slot:activator="{ on }">
|
||||
<v-btn
|
||||
color="red" dark @click="deleteRO(props.item)"
|
||||
style="min-width: 40px; margin: 0;" small v-on="on"
|
||||
>
|
||||
<v-icon small>delete</v-icon>
|
||||
</v-btn>
|
||||
</template>
|
||||
<span>Hapus Receive</span>
|
||||
</v-tooltip>
|
||||
</div>
|
||||
<div v-show="props.item.ReceiveOrderPoConfirmed == 'Y'">
|
||||
<v-tooltip bottom pr-2>
|
||||
<template v-slot:activator="{ on }">
|
||||
<v-btn color="info" dark @click="viewDetail(props.item)"
|
||||
style="min-width: 40px; margin: 0;" small v-on="on">
|
||||
<v-icon small>visibility</v-icon>
|
||||
</v-btn>
|
||||
</template>
|
||||
<span>View Detail</span>
|
||||
</v-tooltip>
|
||||
<v-tooltip bottom pr-2>
|
||||
<template v-slot:activator="{ on }">
|
||||
<v-btn color="green" dark @click="uploadAttachment(props.item)"
|
||||
style="min-width: 40px; margin: 0;" small v-on="on">
|
||||
<v-icon small>attach_file</v-icon>
|
||||
</v-btn>
|
||||
</template>
|
||||
<span>View Document</span>
|
||||
</v-tooltip>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
@@ -100,7 +151,9 @@
|
||||
<dialog-receive-aset></dialog-receive-aset>
|
||||
<dialog-add-attachment></dialog-add-attachment>
|
||||
<dialog-delete-order-asset></dialog-delete-order-asset>
|
||||
<dialog-confirm-order-asset></dialog-confirm-order-asset>
|
||||
<dialog-pick-contract></dialog-pick-contract>
|
||||
<dialog-inspeksi></dialog-inspeksi>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -110,10 +163,14 @@ module.exports = {
|
||||
'dialog-receive-aset': httpVueLoader('./dialog-receive-order-asset.vue'),
|
||||
'dialog-add-attachment': httpVueLoader('./dialog-add-attachment.vue'),
|
||||
'dialog-delete-order-asset': httpVueLoader('./dialog-delete-order-asset.vue'),
|
||||
'dialog-confirm-order-asset': httpVueLoader('./dialog-confirm-receive.vue'),
|
||||
'dialog-pick-contract': httpVueLoader('./dialog-pick-contract.vue'),
|
||||
'dialog-inspeksi': httpVueLoader('./dialog-inspeksi.vue'),
|
||||
},
|
||||
mounted() {
|
||||
this.$store.dispatch("roasset/lookupOrderAssetReceived")
|
||||
this.$store.dispatch("orderAsset/listingCabang");
|
||||
this.$store.dispatch("orderAsset/listingSupplier");
|
||||
this.$store.dispatch("roasset/lookupOrderAssetReceived");
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -133,7 +190,7 @@ module.exports = {
|
||||
width: "15%", class: "pa-1 blue lighten-3 white--text",
|
||||
},
|
||||
{
|
||||
text: "INFO", align: "center", sortable: false, value: "note",
|
||||
text: "CATATAN", align: "center", sortable: false, value: "note",
|
||||
width: "25%", class: "pa-1 blue lighten-3 white--text",
|
||||
},
|
||||
{
|
||||
@@ -170,6 +227,7 @@ module.exports = {
|
||||
},
|
||||
set(val) {
|
||||
this.$store.commit("roasset/update_currpage", val)
|
||||
this.$store.dispatch("roasset/lookupOrderAssetReceived")
|
||||
}
|
||||
},
|
||||
list_status() {
|
||||
@@ -197,11 +255,43 @@ module.exports = {
|
||||
return `${day}-${month}-${year}`;
|
||||
},
|
||||
openDialogReceive() {
|
||||
this.$store.commit("roasset/update_dialog_receive_aset", true)
|
||||
this.$store.commit("orderAsset/update_dialog_receive_aset", true)
|
||||
},
|
||||
uploadAttachment(item) {
|
||||
this.$store.commit("roasset/update_selected_roasset", item)
|
||||
this.$store.dispatch("roasset/lookupAttachment", item.ReceiveOrderPoID);
|
||||
this.$store.commit("roasset/update_selected_roasset", item);
|
||||
this.$store.commit("roasset/update_dialog_attachment", true);
|
||||
},
|
||||
editRO(item) {
|
||||
this.$store.dispatch("roasset/getDetailDataROAsset", item.ReceiveOrderPoID)
|
||||
this.$store.commit("roasset/update_selected_roasset", item)
|
||||
this.$store.commit("orderAsset/update_dialog_receive_aset", true)
|
||||
},
|
||||
viewDetail(item) {
|
||||
this.$store.dispatch("roasset/getDetailDataROAsset", item.ReceiveOrderPoID)
|
||||
this.$store.commit("roasset/update_selected_roasset", item)
|
||||
|
||||
this.$store.commit("orderAsset/update_readonly_mode", true)
|
||||
this.$store.commit("orderAsset/update_dialog_receive_aset", true)
|
||||
},
|
||||
confirmRO(item) {
|
||||
this.$store.dispatch("roasset/lookupAttachment", item.ReceiveOrderPoID);
|
||||
this.$store.commit("roasset/update_selected_roasset", item)
|
||||
this.$store.commit("roasset/update_dialog_confirm", true)
|
||||
},
|
||||
deleteRO(item) {
|
||||
this.$store.commit("roasset/update_selected_roasset", item)
|
||||
this.$store.commit("roasset/update_dialog_delete", true);
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
filterasset: {
|
||||
handler(val) {
|
||||
setTimeout(() => {
|
||||
this.$store.dispatch("roasset/lookupOrderAssetReceived")
|
||||
}, 500)
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
223
test/vuex/acc-one-receive-order-asset/modules/order-asset.js
Normal file
223
test/vuex/acc-one-receive-order-asset/modules/order-asset.js
Normal file
@@ -0,0 +1,223 @@
|
||||
import * as api from "../api/api.js";
|
||||
|
||||
export default {
|
||||
namespaced: true,
|
||||
state: {
|
||||
dialog_receive_aset: false,
|
||||
readonly_mode: false,
|
||||
form_receive: {
|
||||
date: moment(new Date()).format('YYYY-MM-DD'),
|
||||
supplier: "",
|
||||
reference: "",
|
||||
ponumber: "",
|
||||
branchID: "",
|
||||
gudangID: "",
|
||||
shipping: 0,
|
||||
shippingIsPaid: "N",
|
||||
catatan: ""
|
||||
},
|
||||
list_cabang: [],
|
||||
list_gudang: [],
|
||||
list_supplier: [],
|
||||
order_received: [],
|
||||
|
||||
dialog_pick_contract: false,
|
||||
list_item_order: [],
|
||||
|
||||
dialog_inspeksi: false,
|
||||
list_staff: [],
|
||||
selected_item_received: {},
|
||||
form_inspeksi: {
|
||||
qty_po: 0,
|
||||
qty_ro: 0,
|
||||
date_po: moment(new Date()).format('YYYY-MM-DD'),
|
||||
date_ro: moment(new Date()).format('YYYY-MM-DD'),
|
||||
condt_kemasan: '',
|
||||
catatan_kemasan: '',
|
||||
condt_pengiriman: '',
|
||||
catatan_kirim: '',
|
||||
summary: '',
|
||||
catatan: '',
|
||||
pemeriksa: '',
|
||||
pengirim: ''
|
||||
}
|
||||
},
|
||||
mutations: {
|
||||
update_dialog_receive_aset(state, val) {
|
||||
state.dialog_receive_aset = val
|
||||
},
|
||||
update_readonly_mode(state, val) {
|
||||
state.readonly_mode = val
|
||||
},
|
||||
update_form_receive(state, val) {
|
||||
state.form_receive = val
|
||||
},
|
||||
update_list_cabang(state, val) {
|
||||
state.list_cabang = val
|
||||
},
|
||||
update_list_gudang(state, val) {
|
||||
state.list_gudang = val
|
||||
},
|
||||
update_list_supplier(state, val) {
|
||||
state.list_supplier = val
|
||||
},
|
||||
update_order_received(state, val) {
|
||||
state.order_received = val
|
||||
},
|
||||
update_dialog_pick_contract(state, val) {
|
||||
state.dialog_pick_contract = val
|
||||
},
|
||||
update_list_item_order(state, val) {
|
||||
state.list_item_order = val
|
||||
},
|
||||
update_dialog_inspeksi(state, val) {
|
||||
state.dialog_inspeksi = val
|
||||
},
|
||||
update_list_staff(state, val) {
|
||||
state.list_staff = val
|
||||
},
|
||||
update_selected_item_received(state, val) {
|
||||
state.selected_item_received = val
|
||||
},
|
||||
update_form_inspeksi(state, val) {
|
||||
state.form_inspeksi = val
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
async listingCabang(context) {
|
||||
try {
|
||||
let param = { token: one_token() }
|
||||
|
||||
const resp = await api.getListCabang(param);
|
||||
if (resp.status != "OK") {
|
||||
throw new Error(resp.message);
|
||||
}
|
||||
|
||||
context.commit('update_list_cabang', resp.data);
|
||||
} catch (e) {
|
||||
const snac = { color: 'error', msg: e.message, state: true };
|
||||
context.commit("roasset/update_snackbar", snac, { root: true });
|
||||
}
|
||||
},
|
||||
async listingGudang(context, branchID) {
|
||||
try {
|
||||
let param = {
|
||||
token: one_token(),
|
||||
M_BranchID: branchID
|
||||
}
|
||||
|
||||
const resp = await api.getListGudang(param);
|
||||
if (resp.status != "OK") {
|
||||
throw new Error(resp.message);
|
||||
}
|
||||
|
||||
context.commit('update_list_gudang', resp.data);
|
||||
} catch (e) {
|
||||
const snac = { color: 'error', msg: e.message, state: true };
|
||||
context.commit("roasset/update_snackbar", snac, { root: true });
|
||||
}
|
||||
},
|
||||
async listingSupplier(context) {
|
||||
try {
|
||||
const params = { token: one_token() };
|
||||
const resp = await api.getListSupplier(params);
|
||||
if (resp.status != 'OK') {
|
||||
throw new Error(resp.message);
|
||||
}
|
||||
|
||||
context.commit('update_list_supplier', resp.data);
|
||||
} catch (e) {
|
||||
const snac = { color: 'error', msg: e.message, state: true };
|
||||
context.commit("roasset/update_snackbar", snac, { root: true });
|
||||
}
|
||||
},
|
||||
async listingStaff(context) {
|
||||
try {
|
||||
const params = { token: one_token() };
|
||||
const resp = await api.getListStaff(params);
|
||||
if (resp.status != 'OK') {
|
||||
throw new Error(resp.message);
|
||||
}
|
||||
|
||||
context.commit('update_list_staff', resp.data);
|
||||
} catch (e) {
|
||||
const snac = { color: 'error', msg: e.message, state: true };
|
||||
context.commit("roasset/update_snackbar", snac, { root: true });
|
||||
}
|
||||
},
|
||||
async searchOrderAsset(context, keyword) {
|
||||
try {
|
||||
const form = context.state.form_receive;
|
||||
const params = {
|
||||
token: one_token(),
|
||||
search: keyword,
|
||||
supplierID: form.supplier,
|
||||
gudangID: form.gudangID
|
||||
};
|
||||
const resp = await api.searchOrderAsset(params);
|
||||
if (resp.status != 'OK') {
|
||||
throw new Error(resp.message);
|
||||
}
|
||||
|
||||
context.commit("update_list_item_order", resp.data)
|
||||
} catch (e) {
|
||||
const snac = { color: 'error', msg: e.message, state: true };
|
||||
context.commit("roasset/update_snackbar", snac, { root: true });
|
||||
}
|
||||
},
|
||||
async createReceiveOrder(context) {
|
||||
try {
|
||||
context.commit("roasset/update_loading_process", true, { root: true });
|
||||
const detail = context.state.order_received;
|
||||
const params = {
|
||||
...context.state.form_receive,
|
||||
detail: detail,
|
||||
token: one_token()
|
||||
};
|
||||
|
||||
const resp = await api.createReceiveOrder(params);
|
||||
if (resp.status != 'OK') {
|
||||
throw new Error(resp.message);
|
||||
}
|
||||
|
||||
const snac = { color: 'success', msg: resp.data, state: true };
|
||||
context.commit("roasset/update_snackbar", snac, { root: true });
|
||||
|
||||
context.dispatch("roasset/lookupOrderAssetReceived", {}, {root: true});
|
||||
context.commit("roasset/update_loading_process", false, { root: true });
|
||||
context.state.dialog_receive_aset = false;
|
||||
} catch (e) {
|
||||
context.commit("roasset/update_loading_process", false, { root: true });
|
||||
const snac = { color: 'error', msg: e.message, state: true };
|
||||
context.commit("roasset/update_snackbar", snac, { root: true });
|
||||
}
|
||||
},
|
||||
async editReceiveOrder(context) {
|
||||
try {
|
||||
context.commit("roasset/update_loading_process", true, { root: true });
|
||||
const detail = context.state.order_received;
|
||||
const params = {
|
||||
...context.state.form_receive,
|
||||
detail: detail,
|
||||
token: one_token()
|
||||
};
|
||||
|
||||
const resp = await api.editReceiveOrder(params);
|
||||
if (resp.status != 'OK') {
|
||||
throw new Error(resp.message);
|
||||
}
|
||||
|
||||
const snac = { color: 'success', msg: resp.data, state: true };
|
||||
context.commit("roasset/update_snackbar", snac, { root: true });
|
||||
|
||||
context.dispatch("roasset/lookupOrderAssetReceived", {}, {root: true});
|
||||
context.commit("roasset/update_loading_process", false, { root: true });
|
||||
context.state.dialog_receive_aset = false;
|
||||
} catch (e) {
|
||||
context.commit("roasset/update_loading_process", false, { root: true });
|
||||
const snac = { color: 'error', msg: e.message, state: true };
|
||||
context.commit("roasset/update_snackbar", snac, { root: true });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -25,29 +25,15 @@ export default {
|
||||
currpage: 1,
|
||||
selected_roasset: {},
|
||||
|
||||
/* form receive */
|
||||
dialog_receive_aset: false,
|
||||
form_receive: {
|
||||
date: moment(new Date()).format('YYYY-MM-DD'),
|
||||
supplier: "",
|
||||
reference: "",
|
||||
ponumber: "",
|
||||
contractlength: 0,
|
||||
datepayment: "",
|
||||
cicilan: 0,
|
||||
downpayment: 0,
|
||||
totalbill: 0,
|
||||
catatan: ""
|
||||
},
|
||||
item_receive: [],
|
||||
dialog_pick_contract: false,
|
||||
|
||||
/* upload attachment */
|
||||
dialog_attachment: false,
|
||||
preview_attachment: [],
|
||||
|
||||
/* delete */
|
||||
dialog_delete: false
|
||||
dialog_delete: false,
|
||||
|
||||
/* confirm */
|
||||
dialog_confirm: false
|
||||
},
|
||||
mutations: {
|
||||
/* common */
|
||||
@@ -75,20 +61,6 @@ export default {
|
||||
state.selected_roasset = val
|
||||
},
|
||||
|
||||
/* form receive */
|
||||
update_dialog_receive_aset(state, val) {
|
||||
state.dialog_receive_aset = val
|
||||
},
|
||||
update_form_receive(state, val) {
|
||||
state.form_receive = val
|
||||
},
|
||||
update_item_receive(state, val) {
|
||||
state.item_receive = val
|
||||
},
|
||||
update_dialog_pick_contract(state, val) {
|
||||
state.dialog_pick_contract = val
|
||||
},
|
||||
|
||||
/* attachment */
|
||||
update_dialog_attachment(state, val) {
|
||||
state.dialog_attachment = val
|
||||
@@ -100,45 +72,143 @@ export default {
|
||||
/* delete */
|
||||
update_dialog_delete(state, val) {
|
||||
state.dialog_delete = val
|
||||
},
|
||||
|
||||
update_dialog_confirm(state, val) {
|
||||
state.dialog_confirm = val
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
async lookupOrderAssetReceived(context) {
|
||||
try {
|
||||
// const param = {
|
||||
// token: one_token(),
|
||||
// }
|
||||
|
||||
// const resp = await api.lookupOrderAssetReceived(param);
|
||||
// if (resp.status != "OK") {
|
||||
// throw new Error(resp.message);
|
||||
// }
|
||||
|
||||
// context.commit("update_list_roasset", resp.data);
|
||||
|
||||
const dummy = {
|
||||
records: [
|
||||
{
|
||||
date: moment(new Date()).format('YYYY-MM-DD'),
|
||||
receiveordernumber: "GR-003/SDM-14/SM-1/VI/2026",
|
||||
purchaseordernumber: "PO-002/OPR-RL/SM-2/VI/2026",
|
||||
suppliername: "PT MEJA ABADI",
|
||||
uangmuka: 4000000,
|
||||
totaltagihan: 10000000,
|
||||
besarcicilan: 500000,
|
||||
numbercicilan: 12,
|
||||
cicilanterbayar: 0,
|
||||
status: "Unconfirmed"
|
||||
}
|
||||
],
|
||||
total: 1
|
||||
const param = {
|
||||
token: one_token(),
|
||||
currpage: context.state.currpage,
|
||||
...context.state.filterasset
|
||||
}
|
||||
|
||||
context.commit("update_list_roasset", dummy);
|
||||
const resp = await api.getListingROAsset(param);
|
||||
if (resp.status != "OK") {
|
||||
throw new Error(resp.message);
|
||||
}
|
||||
|
||||
context.commit("update_list_roasset", resp.data);
|
||||
} catch (e) {
|
||||
const snac = { color: 'error', msg: e.message, state: false };
|
||||
context.commit("update_snackbar", snac);
|
||||
}
|
||||
},
|
||||
async lookupAttachment(context, roID) {
|
||||
try {
|
||||
const param = {
|
||||
token: one_token(),
|
||||
roID: roID
|
||||
}
|
||||
|
||||
const resp = await api.getListAttachment(param);
|
||||
if (resp.status != "OK") {
|
||||
throw new Error(resp.message);
|
||||
}
|
||||
|
||||
context.commit('update_preview_attachment', resp.data);
|
||||
} catch (e) {
|
||||
const snac = { color: 'error', msg: e.message, state: false };
|
||||
context.commit("update_snackbar", snac);
|
||||
}
|
||||
},
|
||||
async getDetailDataROAsset(context, roid) {
|
||||
try {
|
||||
context.commit('update_loading_process', true);
|
||||
let params = {
|
||||
token: one_token(),
|
||||
roid: roid
|
||||
}
|
||||
const resp = await api.getDetailDataROAsset(params);
|
||||
if (resp.status != "OK") {
|
||||
throw new Error(resp.message);
|
||||
}
|
||||
|
||||
context.commit('orderAsset/update_form_receive', resp.data.header, { root: true })
|
||||
context.dispatch('orderAsset/listingGudang', resp.data.header.branchID, { root: true });
|
||||
|
||||
context.commit('orderAsset/update_order_received', resp.data.detail, { root: true })
|
||||
|
||||
context.commit('update_loading_process', false);
|
||||
} catch (e) {
|
||||
context.commit('update_loading_process', false);
|
||||
const snac = { color: 'error', msg: e.message, state: false };
|
||||
context.commit("update_snackbar", snac);
|
||||
}
|
||||
},
|
||||
async uploadAttachment(context, params) {
|
||||
try {
|
||||
context.commit('update_loading_process', true);
|
||||
const resp = await api.uploadAttachment(params);
|
||||
if (resp.status != "OK") {
|
||||
throw new Error(resp.message);
|
||||
}
|
||||
|
||||
const snac = { color: 'success', msg: resp.data, state: true };
|
||||
context.commit("update_snackbar", snac);
|
||||
|
||||
context.dispatch('lookupOrderAssetReceived');
|
||||
context.commit('update_loading_process', false);
|
||||
context.state.dialog_attachment = false;
|
||||
} catch (e) {
|
||||
context.commit('update_loading_process', false);
|
||||
const snac = { color: 'error', msg: e.message, state: false };
|
||||
context.commit("update_snackbar", snac);
|
||||
}
|
||||
},
|
||||
async deleteReceiveAsset(context, roID) {
|
||||
try {
|
||||
context.commit('update_loading_process', true);
|
||||
const param = {
|
||||
token: one_token(),
|
||||
roid: roID
|
||||
}
|
||||
|
||||
const resp = await api.deleteReceiveOrder(param);
|
||||
if (resp.status != "OK") {
|
||||
throw new Error(resp.message);
|
||||
}
|
||||
|
||||
const snac = { color: 'success', msg: resp.data, state: true };
|
||||
context.commit("update_snackbar", snac);
|
||||
|
||||
context.dispatch('lookupOrderAssetReceived');
|
||||
context.commit('update_loading_process', false);
|
||||
context.state.dialog_delete = false;
|
||||
} catch (e) {
|
||||
context.commit('update_loading_process', false);
|
||||
const snac = { color: 'error', msg: e.message, state: false };
|
||||
context.commit("update_snackbar", snac);
|
||||
}
|
||||
},
|
||||
async confirmReceiveOrder(context, roID) {
|
||||
try {
|
||||
context.commit('update_loading_process', true);
|
||||
const param = {
|
||||
token: one_token(),
|
||||
roid: roID
|
||||
}
|
||||
|
||||
const resp = await api.confirmReceiveOrder(param);
|
||||
if (resp.status != "OK") {
|
||||
throw new Error(resp.message);
|
||||
}
|
||||
|
||||
const snac = { color: 'success', msg: resp.data, state: true };
|
||||
context.commit("update_snackbar", snac);
|
||||
|
||||
context.dispatch('lookupOrderAssetReceived');
|
||||
context.commit('update_loading_process', false);
|
||||
context.state.dialog_confirm = false;
|
||||
} catch (e) {
|
||||
context.commit('update_loading_process', false);
|
||||
const snac = { color: 'error', msg: e.message, state: false };
|
||||
context.commit("update_snackbar", snac);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
import system from "../../../apps/modules/system/system.js";
|
||||
import orderAsset from "./modules/order-asset.js";
|
||||
import roasset from "./modules/roasset.js"
|
||||
|
||||
export const store = new Vuex.Store({
|
||||
modules: {
|
||||
system: system,
|
||||
roasset:roasset
|
||||
roasset: roasset,
|
||||
orderAsset: orderAsset
|
||||
},
|
||||
state: {},
|
||||
mutatios: {},
|
||||
|
||||
Reference in New Issue
Block a user