diff --git a/ayanova/src/views/svc-workorder.vue b/ayanova/src/views/svc-workorder.vue index c2b56320..b71f5a93 100644 --- a/ayanova/src/views/svc-workorder.vue +++ b/ayanova/src/views/svc-workorder.vue @@ -1178,10 +1178,21 @@ async function savePartRequests(vm, woItemIndex) { } for (let i = 0; i < vm.obj.items[woItemIndex].partRequests.length; i++) { - let o = vm.obj.items[woItemIndex].partRequests[i]; - if (o.isDirty) { - //const isPost = o.id == 0; - let res = await window.$gz.api.upsert( + if (vm.obj.items[woItemIndex].partRequests[i].isDirty) { + const o = vm.obj.items[woItemIndex].partRequests[i]; + const uid = o.uid; + //strip out viz fields before sending + o.isDirty = undefined; + o.uid = undefined; + o.partViz = undefined; + o.upcViz = undefined; + o.partWarehouseViz = undefined; + o.purchaseOrderViz = undefined; + o.purchaseOrderIdViz = undefined; + o.purchaseOrderDateViz = undefined; + o.purchaseOrderExpectedDateViz = undefined; + o.purchaseOrderOnOrderViz = undefined; + const res = await window.$gz.api.upsert( `${API_BASE_URL}items/part-requests`, o ); @@ -1190,7 +1201,7 @@ async function savePartRequests(vm, woItemIndex) { error: res.error, itemUid: vm.obj.items[woItemIndex].uid, childKey: "partRequests", - childUid: o.uid + childUid: uid }); } else { //Server will update fields on put or post for most workorder graph objecs so need to update entire object here @@ -1212,15 +1223,31 @@ async function saveLabors(vm, woItemIndex) { } for (let i = 0; i < vm.obj.items[woItemIndex].labors.length; i++) { - let o = vm.obj.items[woItemIndex].labors[i]; - if (o.isDirty) { + if (vm.obj.items[woItemIndex].labors[i].isDirty) { + const o = vm.obj.items[woItemIndex].labors[i]; + const uid = o.uid; + //strip out viz fields before sending + o.isDirty = undefined; + o.uid = undefined; + o.userViz = undefined; + o.serviceRateViz = undefined; + o.taxCodeSaleViz = undefined; + o.costViz = undefined; + o.listPriceViz = undefined; + o.unitOfMeasureViz = undefined; + o.priceViz = undefined; + o.netViz = undefined; + o.taxAViz = undefined; + o.taxBViz = undefined; + o.lineTotalViz = undefined; + const res = await window.$gz.api.upsert(`${API_BASE_URL}items/labors`, o); if (res.error) { handleSaveError(vm, { error: res.error, itemUid: vm.obj.items[woItemIndex].uid, childKey: "labors", - childUid: o.uid + childUid: uid }); } else { //Server will update fields on put or post for most workorder graph objecs so need to update entire object here @@ -1270,8 +1297,24 @@ async function saveTravels(vm, woItemIndex) { } for (let i = 0; i < vm.obj.items[woItemIndex].travels.length; i++) { - let o = vm.obj.items[woItemIndex].travels[i]; - if (o.isDirty) { + if (vm.obj.items[woItemIndex].travels[i].isDirty) { + const o = vm.obj.items[woItemIndex].travels[i]; + const uid = o.uid; + //strip out viz fields before sending + o.isDirty = undefined; + o.uid = undefined; + o.userViz = undefined; + o.travelRateViz = undefined; + o.taxCodeSaleViz = undefined; + o.costViz = undefined; + o.listPriceViz = undefined; + o.unitOfMeasureViz = undefined; + o.priceViz = undefined; + o.netViz = undefined; + o.taxAViz = undefined; + o.taxBViz = undefined; + o.lineTotalViz = undefined; + const res = await window.$gz.api.upsert( `${API_BASE_URL}items/travels`, o @@ -1281,7 +1324,7 @@ async function saveTravels(vm, woItemIndex) { error: res.error, itemUid: vm.obj.items[woItemIndex].uid, childKey: "travels", - childUid: o.uid + childUid: uid }); } else { //Server will update fields on put or post for most workorder graph objecs so need to update entire object here @@ -1360,16 +1403,28 @@ async function saveExpenses(vm, woItemIndex) { } for (let i = 0; i < vm.obj.items[woItemIndex].expenses.length; i++) { - let o = vm.obj.items[woItemIndex].expenses[i]; - if (o.isDirty) { - //const isPost = o.id == 0; - let res = await window.$gz.api.upsert(`${API_BASE_URL}items/expenses`, o); + if (vm.obj.items[woItemIndex].expenses[i].isDirty) { + const o = vm.obj.items[woItemIndex].expenses[i]; + const uid = o.uid; + //strip out viz fields before sending + o.isDirty = undefined; + o.uid = undefined; + o.chargeTaxCodeViz = undefined; + o.userViz = undefined; + o.taxAViz = undefined; + o.taxBViz = undefined; + o.lineTotalViz = undefined; + + const res = await window.$gz.api.upsert( + `${API_BASE_URL}items/expenses`, + o + ); if (res.error) { handleSaveError(vm, { error: res.error, itemUid: vm.obj.items[woItemIndex].uid, childKey: "expenses", - childUid: o.uid + childUid: uid }); } else { //Server will update fields on put or post for most workorder graph objecs so need to update entire object here