This commit is contained in:
2021-07-26 21:31:37 +00:00
parent db4d8badfe
commit 29cd9e8541
2 changed files with 31 additions and 170 deletions

View File

@@ -379,10 +379,7 @@ export default {
x.uid = index;
x.isDirty = false;
});
z.partRequests.forEach((x, index) => {
x.uid = index;
x.isDirty = false;
});
z.scheduledUsers.forEach((x, index) => {
x.uid = index;
x.isDirty = false;
@@ -625,9 +622,7 @@ export default {
wi.concurrency = 0;
wi.uid = Date.now();
wi.isDirty = true;
if (wi.partRequests) {
wi.partRequests.splice(0);
}
wi.expenses.forEach(x => {
x.id = 0;
x.workOrderItemId = 0;
@@ -805,7 +800,6 @@ async function saveItems(vm) {
labors: removedKey2,
loans: removedKey3,
parts: removedKey4,
partRequests: removedKey5,
scheduledUsers: removedKey6,
tasks: removedKey7,
travels: removedKey8,
@@ -852,10 +846,6 @@ async function saveItems(vm) {
z => (z.workorderItemId = vm.obj.items[i].id)
);
vm.obj.items[i].partRequests.forEach(
z => (z.workorderItemId = vm.obj.items[i].id)
);
vm.obj.items[i].labors.forEach(
z => (z.workorderItemId = vm.obj.items[i].id)
);
@@ -892,9 +882,7 @@ async function saveItems(vm) {
if (!vm.saveResult.fatal) {
await saveParts(vm, i);
}
if (!vm.saveResult.fatal) {
await savePartRequests(vm, i);
}
if (!vm.saveResult.fatal) {
await saveLabors(vm, i);
}
@@ -1195,73 +1183,6 @@ async function saveParts(vm, woItemIndex) {
return; //made it
}
/////////////////////////////
// PART REQUESTS
//
async function deletePartRequests(vm, woItemIndex) {
//walk the array backwards as items may be spliced out
for (var i = vm.obj.items[woItemIndex].partRequests.length - 1; i >= 0; i--) {
const d = vm.obj.items[woItemIndex].partRequests[i];
if (!d.deleted) {
continue;
}
if (d.id != 0) {
let res = await window.$gz.api.remove(
`${API_BASE_URL}items/part-requests/${d.id}`
);
if (res.error) {
handleSaveError(vm, {
error: res.error,
itemUid: vm.obj.items[woItemIndex].uid,
childKey: "partRequests",
childUid: d.uid
});
return;
}
}
vm.obj.items[woItemIndex].partRequests.splice(i, 1);
}
//----
return;
}
async function savePartRequests(vm, woItemIndex) {
//DELETE FLAGGED ITEMS FIRST
await deletePartRequests(vm, woItemIndex);
if (vm.saveResult.fatal) {
return;
}
for (let i = 0; i < vm.obj.items[woItemIndex].partRequests.length; i++) {
if (vm.obj.items[woItemIndex].partRequests[i].isDirty) {
//clone and skip viz and other fields
const o = window.$gz.util.deepCopySkip(
vm.obj.items[woItemIndex].partRequests[i],
["uid", "isDirty"]
);
const res = await window.$gz.api.upsert(
`${API_BASE_URL}items/part-requests`,
o
);
if (res.error) {
handleSaveError(vm, {
error: res.error,
itemUid: vm.obj.items[woItemIndex].uid,
childKey: "partRequests",
childUid: vm.obj.items[woItemIndex].partRequests[i].uid
});
} else {
//Server will update fields on put or post for most workorder graph objecs so need to update entire object here
res.data.isDirty = false; //prime isDirty to detect future edits
vm.obj.items[woItemIndex].partRequests.splice(i, 1, res.data); //vue needs the splice rather than just setting the value in order to trigger reactivity or else the UI won't update
}
}
}
return; //made it
}
/////////////////////////////
// LABOR
//
@@ -2085,16 +2006,9 @@ async function fetchTranslatedText(vm) {
"WorkOrderItemPartQuantity",
"WorkOrderItemPartTaxPartSaleID",
"WorkOrderItemPartPartID",
"WorkOrderItemPartRequestList",
"WorkOrderItemPartRequestPartID",
"WorkOrderItemPartRequestPartWarehouseID",
"WorkOrderItemPartRequestQuantity",
"WorkOrderItemPartRequestMore",
"PurchaseOrder",
"PurchaseOrderExpectedReceiveDate",
"PurchaseOrderOrderedDate",
"WorkOrderItemPartRequestOnOrder",
"WorkOrderItemPartRequestReceived",
"WorkOrderItemOutsideServiceList",
"WorkOrderItemOutsideServiceNotes",
"WorkOrderItemOutsideServiceVendorSentToID",