This commit is contained in:
@@ -348,7 +348,7 @@ CURRENTLY DOING: labors
|
||||
Test by changing customer or contract and save should show new alert notes
|
||||
(same as done in svc-workorder.vue line 947 with labor, replicate that shit everywhere)
|
||||
|
||||
CHANGED PUT ITEMS: expenses, workorder header, loans,outsideservice,parts, scheduledusers
|
||||
CHANGED PUT ITEMS: header plus all children of woitem but not woitem (only excluded one)
|
||||
|
||||
todo: check contract expiry for applying!!
|
||||
|
||||
|
||||
@@ -645,11 +645,28 @@ async function saveHeader(vm) {
|
||||
//}
|
||||
} else {
|
||||
//update any server changed fields
|
||||
vm.obj.concurrency = res.data.concurrency;
|
||||
vm.obj.isDirty = false;
|
||||
//Server will update fields on put or post for most workorder graph objecs so need to update entire object here
|
||||
//TODO: update header fields only, not collections here:
|
||||
//see technique used elsewhere with this same need already done was it woitem??
|
||||
//get copy of item without child collections for independant submit
|
||||
//this is it for woitem:
|
||||
|
||||
//this sets 'o' to all values in assigned *except* the ones itemized with removedKey which is a fake key and just used for this trick to work
|
||||
//as undefined won't
|
||||
console.log("Header save, return data is: ", res.data);
|
||||
//copy return data into a variable called 'o' but exclude states and items keys
|
||||
const { states: removedKey1, items: removedKey2, ...o } = res.data;
|
||||
|
||||
console.log("Header save, o is: ", o);
|
||||
|
||||
//now we can set the header to o safely without wiping the child collections
|
||||
//this will only copy the existing properties in o to vm.obj
|
||||
Object.assign(vm.obj, o);
|
||||
|
||||
console.log("Header save, vm.obj is: ", vm.obj);
|
||||
|
||||
//vm.obj.items[woItemIndex].labors.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
|
||||
if (isPost) {
|
||||
vm.obj.id = res.data.id;
|
||||
vm.obj.serial = res.data.serial;
|
||||
//walk all unsaved direct children and set the workorder id so they can save
|
||||
vm.obj.states.forEach(z => (z.workOrderId = vm.obj.id));
|
||||
vm.obj.items.forEach(z => (z.workOrderId = vm.obj.id));
|
||||
@@ -833,16 +850,8 @@ async function saveExpenses(vm, woItemIndex) {
|
||||
childUid: o.uid
|
||||
});
|
||||
} else {
|
||||
//update any server changed fields
|
||||
//always updated:
|
||||
o.concurrency = res.data.concurrency;
|
||||
o.isDirty = false;
|
||||
|
||||
//new records only...
|
||||
if (isPost) {
|
||||
o.id = res.data.id;
|
||||
o.workOrderItemId = res.data.workOrderItemId;
|
||||
}
|
||||
//Server will update fields on put or post for most workorder graph objecs so need to update entire object here
|
||||
vm.obj.items[woItemIndex].expenses.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
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -875,16 +884,8 @@ async function saveScheduledUsers(vm, woItemIndex) {
|
||||
childUid: o.uid
|
||||
});
|
||||
} else {
|
||||
//update any server changed fields
|
||||
//always updated:
|
||||
o.concurrency = res.data.concurrency;
|
||||
o.isDirty = false;
|
||||
|
||||
//new records only...
|
||||
if (isPost) {
|
||||
o.id = res.data.id;
|
||||
o.workOrderItemId = res.data.workOrderItemId;
|
||||
}
|
||||
//Server will update fields on put or post for most workorder graph objecs so need to update entire object here
|
||||
vm.obj.items[woItemIndex].scheduledUsers.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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user