This commit is contained in:
2021-06-02 15:54:30 +00:00
parent 559cfbac03
commit 1d199ac678
3 changed files with 87 additions and 13 deletions

View File

@@ -476,8 +476,10 @@ export default {
concurrency: 0,
userId: null,
//userViz: null,
serviceStartDate: window.$gz.locale.nowUTC8601String(),
serviceStopDate: window.$gz.locale.nowUTC8601String(), //TODO:sb now plus one hour to match v7
serviceStartDate: null,
serviceStopDate: null, //Actually I think it's best to be null, user can select NOW from start or stop and have it automatically do it's thing
// serviceStartDate: window.$gz.locale.nowUTC8601String(),
// serviceStopDate: window.$gz.locale.nowUTC8601String(), //TODO:sb now plus one hour to match v7
serviceRateId: null,
serviceDetails: null,
serviceRateQuantity: 1,
@@ -531,6 +533,86 @@ export default {
this.activeItemIndex
].isDirty = true;
window.$gz.form.fieldValueChanged(this.pvm, ref);
//------- SPECIAL HANDLING OF CHANGES -----------
const isNew =
this.value.items[this.activeWoItemIndex].labors[this.activeItemIndex]
.id == 0;
//Auto calculate dates / quantities / global defaults
const dStart = this.value.items[this.activeWoItemIndex].labors[
this.activeItemIndex
].serviceStartDate;
const dStop = this.value.items[this.activeWoItemIndex].labors[
this.activeItemIndex
].serviceStopDate;
if (ref.includes("serviceStartDate") && dStart != null) {
this.handleStartDateChange(isNew, dStart, dStop);
}
if (ref.includes("serviceStopDate") && dStop != null) {
this.handleStopDateChange(isNew, dStart, dStop);
}
//------------------------------------------------------
}
},
handleStartDateChange: function(isNew, dStart, dStop) {
const globalMinutes =
window.$gz.store.state.globalSettings.workLaborScheduleDefaultMinutes;
if (isNew && dStop == null) {
if (globalMinutes != 0) {
//set stop date based on start date and global minutes
this.value.items[this.activeWoItemIndex].labors[
this.activeItemIndex
].serviceStopDate = window.$gz.locale.addMinutesToUTC8601String(
dStart,
globalMinutes
);
this.value.items[this.activeWoItemIndex].labors[
this.activeItemIndex
].serviceRateQuantity = globalMinutes;
}
} else {
//Existing record or both dates filled, just update quantity
if (dStop != null) {
this.value.items[this.activeWoItemIndex].labors[
this.activeItemIndex
].serviceRateQuantity = window.$gz.locale.diffHoursFromUTC8601String(
dStart,
dStop
);
}
}
},
handleStopDateChange: function(isNew, dStart, dStop) {
const globalMinutes =
window.$gz.store.state.globalSettings.workLaborScheduleDefaultMinutes;
if (isNew && dStart == null) {
if (globalMinutes != 0) {
//set start date based on stop date and global minutes
this.value.items[this.activeWoItemIndex].labors[
this.activeItemIndex
].serviceStartDate = window.$gz.locale.addMinutesToUTC8601String(
dStop,
0 - globalMinutes
);
this.value.items[this.activeWoItemIndex].labors[
this.activeItemIndex
].serviceRateQuantity = globalMinutes;
}
} else {
//Existing record or both dates filled, just update quantity
if (dStart != null) {
console.log("setting serviceRateQuantity");
this.value.items[this.activeWoItemIndex].labors[
this.activeItemIndex
].serviceRateQuantity = window.$gz.locale.diffHoursFromUTC8601String(
dStart,
dStop
);
}
}
},
itemRowClasses: function(item) {

View File

@@ -390,6 +390,7 @@ export default {
this.activeItemIndex
].isDirty = true;
window.$gz.form.fieldValueChanged(this.pvm, ref);
//------- SPECIAL HANDLING OF CHANGES -----------
const isNew =
this.value.items[this.activeWoItemIndex].scheduledUsers[
this.activeItemIndex
@@ -408,9 +409,7 @@ export default {
if (ref.includes("stopDate") && dStop != null) {
this.handleStopDateChange(isNew, dStart, dStop);
}
if (ref.includes("estimatedQuantity")) {
this.handleEstimatedQuantityChange(isNew, dStart, dStop);
}
//------------------------------------------------------
}
},
handleStartDateChange: function(isNew, dStart, dStop) {
@@ -444,7 +443,6 @@ export default {
}
},
handleStopDateChange: function(isNew, dStart, dStop) {
// (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
const globalMinutes =
window.$gz.store.state.globalSettings.workLaborScheduleDefaultMinutes;
@@ -474,12 +472,6 @@ export default {
}
}
},
handleEstimatedQuantityChange: function(isNew, dStart, dStop) {
let val = this.value.items[this.activeWoItemIndex].scheduledUsers[
this.activeItemIndex
].estimatedQuantity;
console.log("Estimated Quantity is now", val);
},
itemRowClasses: function(item) {
let ret = "";
const isDeleted =