This commit is contained in:
2021-06-02 17:41:29 +00:00
parent 579b2addd3
commit f8b3cab815
2 changed files with 46 additions and 48 deletions

View File

@@ -397,23 +397,6 @@ TODO: V7 features on wo I haven't coded yet
UPC select by UPC (just confirm this)
todo: DEFAULT TIME SPAN / AUTO SET workorderitemlabor / scheduled user
HOW IT SHOULD WORK IN V8
Existing
update quantity when dates change or update stop date when quantity changes to match
no consideration for global default, once it's made that shit doesn't apply
NEW
First - update global settings, add schedule/labor default minutes and separately Travel default minutes
No auto date set on new, just leave empty
(ONLY IF GLOBAL DEFAULT QTY) enter start date when stop date is null then it will add global default to start and set stop and qty
(ONLY IF GLOBAL DEFAULT QTY) enter stop date when start date is null then it will back calc and set start and qty based on global default
If no global default then it acts like existing and updates qty or stop date when qty changes (if there are dates to go on)
todo: seeder stock data / translations: loanunit "Units" have extraneous "rate" in them, i.e. "Hourly rate", sb just "Hourly"
todo: workorder main data lists, flesh out, finish links from related objects

View File

@@ -746,21 +746,22 @@ async function saveItems(vm) {
//SAVE WOITEMS
for (let i = 0; i < vm.obj.items.length; i++) {
//get copy of item without child collections for independant submit
const {
expenses: removedKey1,
labors: removedKey2,
loans: removedKey3,
parts: removedKey4,
partRequests: removedKey5,
scheduledUsers: removedKey6,
tasks: removedKey7,
travels: removedKey8,
units: removedKey9,
outsideServices: removedKey10,
...o
} = vm.obj.items[i];
if (o.isDirty) {
if (vm.obj.items[i].isDirty) {
//get copy of item without child collections for independant submit
const {
expenses: removedKey1,
labors: removedKey2,
loans: removedKey3,
parts: removedKey4,
partRequests: removedKey5,
scheduledUsers: removedKey6,
tasks: removedKey7,
travels: removedKey8,
units: removedKey9,
outsideServices: removedKey10,
...o
} = vm.obj.items[i];
const isPost = o.id == 0;
let res = await window.$gz.api.upsert(`${API_BASE_URL}items`, o);
if (res.error) {
@@ -823,9 +824,8 @@ async function saveItems(vm) {
);
}
}
} else {
// Item not dirty skipping save
}
//------
//save grandchildren
if (!vm.saveResult.fatal) {
@@ -902,16 +902,20 @@ async function saveUnits(vm, woItemIndex) {
}
for (let i = 0; i < vm.obj.items[woItemIndex].units.length; i++) {
let o = vm.obj.items[woItemIndex].units[i];
if (o.isDirty) {
//const isPost = o.id == 0;
if (vm.obj.items[woItemIndex].units[i].isDirty) {
const o = vm.obj.items[woItemIndex].units[i];
const uid = o.uid;
//strip out viz fields before sending
o.isDirty = undefined;
o.uid = undefined;
o.unitViz = undefined;
let res = await window.$gz.api.upsert(`${API_BASE_URL}items/units`, o);
if (res.error) {
handleSaveError(vm, {
error: res.error,
itemUid: vm.obj.items[woItemIndex].uid,
childKey: "units",
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
@@ -933,10 +937,15 @@ async function saveScheduledUsers(vm, woItemIndex) {
}
for (let i = 0; i < vm.obj.items[woItemIndex].scheduledUsers.length; i++) {
let o = vm.obj.items[woItemIndex].scheduledUsers[i];
if (o.isDirty) {
const isPost = o.id == 0;
let res = await window.$gz.api.upsert(
if (vm.obj.items[woItemIndex].scheduledUsers[i].isDirty) {
const o = vm.obj.items[woItemIndex].scheduledUsers[i];
const uid = o.uid;
//strip out viz fields before sending
o.isDirty = undefined;
o.uid = undefined;
o.serviceRateViz = undefined;
o.userViz = undefined;
const res = await window.$gz.api.upsert(
`${API_BASE_URL}items/scheduled-users`,
o
);
@@ -945,7 +954,7 @@ async function saveScheduledUsers(vm, woItemIndex) {
error: res.error,
itemUid: vm.obj.items[woItemIndex].uid,
childKey: "scheduledUsers",
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
@@ -999,16 +1008,22 @@ async function saveTasks(vm, woItemIndex) {
}
for (let i = 0; i < vm.obj.items[woItemIndex].tasks.length; i++) {
let o = vm.obj.items[woItemIndex].tasks[i];
if (o.isDirty) {
// const isPost = o.id == 0;
let res = await window.$gz.api.upsert(`${API_BASE_URL}items/tasks`, o);
if (vm.obj.items[woItemIndex].tasks[i].isDirty) {
const o = vm.obj.items[woItemIndex].tasks[i];
const uid = o.uid;
//strip out viz fields before sending
o.isDirty = undefined;
o.uid = undefined;
o.statusViz = undefined;
o.completedByUserViz = undefined;
const res = await window.$gz.api.upsert(`${API_BASE_URL}items/tasks`, o);
if (res.error) {
handleSaveError(vm, {
error: res.error,
itemUid: vm.obj.items[woItemIndex].uid,
childKey: "tasks",
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