mirror of
https://github.com/Spythere/genera-tor.git
synced 2026-05-03 13:38:12 +00:00
Lokalne zapisywanie rozkazów
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
import { defineComponent } from 'vue';
|
||||
import { useStore } from '../store/store';
|
||||
import { LocalStorageOrder } from '../types/orderTypes';
|
||||
|
||||
export default defineComponent({
|
||||
setup() {
|
||||
return {
|
||||
store: useStore(),
|
||||
};
|
||||
},
|
||||
|
||||
methods: {
|
||||
saveOrderToStorage() {
|
||||
let orderObj: LocalStorageOrder = {
|
||||
orderType: this.store.chosenOrderType ,
|
||||
orderBody: {},
|
||||
orderFooter: this.store.orderFooter,
|
||||
createdAt: Date.now(),
|
||||
};
|
||||
|
||||
switch (this.store.chosenOrderType) {
|
||||
case 'orderN':
|
||||
orderObj['orderBody'] = this.store.orderN;
|
||||
break;
|
||||
case 'orderS':
|
||||
orderObj['orderBody'] = this.store.orderS;
|
||||
break;
|
||||
case 'orderO':
|
||||
orderObj['orderBody'] = this.store.orderO;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
const headerInfo = orderObj['orderBody']['header'];
|
||||
|
||||
if (!headerInfo['orderNo']) return -1;
|
||||
if (!headerInfo['trainNo']) return -1;
|
||||
if (!headerInfo['date']) return -1;
|
||||
|
||||
const localStorage = window.localStorage;
|
||||
const localOrderCount = localStorage.getItem('orderCount') || '0';
|
||||
|
||||
if (localOrderCount == '0') localStorage.setItem('orderCount', '0');
|
||||
|
||||
const prevLocalOrder = localStorage.getItem(`order-${Number(localOrderCount)}`);
|
||||
if (prevLocalOrder && prevLocalOrder == JSON.stringify(orderObj)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
const nextOrderCount = Number(localOrderCount) + 1;
|
||||
localStorage.setItem('orderCount', `${nextOrderCount}`);
|
||||
localStorage.setItem(`order-${nextOrderCount}`, JSON.stringify(orderObj));
|
||||
|
||||
return 1;
|
||||
},
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user