From 0ba68a6f33b4d576793a7a78bacabf613f867262 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Thu, 3 Mar 2022 20:25:33 +0000 Subject: [PATCH] --- ayanova/src/api/dash-registry.js | 2 + .../dash-labor-hours-everyone-bar.vue | 1 - .../dash-labor-hours-everyone-line.vue | 1 - .../dash-labor-hours-personal-bar.vue | 1 - .../dash-labor-hours-personal-line.vue | 1 - ...h-work-order-completed-on-time-pct-bar.vue | 1 - .../dash-work-order-created-count-bar.vue | 1 - .../dash-work-order-created-count-line.vue | 1 - .../dash-work-order-status-count-bar.vue | 1 - .../dash-work-order-status-pct-bar.vue | 2 +- .../dash-workorder-by-status-list.vue | 157 +++++++++++++++++- 11 files changed, 153 insertions(+), 16 deletions(-) diff --git a/ayanova/src/api/dash-registry.js b/ayanova/src/api/dash-registry.js index 99e06f5f..b128d423 100644 --- a/ayanova/src/api/dash-registry.js +++ b/ayanova/src/api/dash-registry.js @@ -21,6 +21,8 @@ export default { singleOnly: false, settings: { customTitle: null, + timeSpan: "*thisyear*", + interval: "month", wostatus: null, wotags: [], wotagsany: true, diff --git a/ayanova/src/components/dash-labor-hours-everyone-bar.vue b/ayanova/src/components/dash-labor-hours-everyone-bar.vue index dd4a5b61..6319b94e 100644 --- a/ayanova/src/components/dash-labor-hours-everyone-bar.vue +++ b/ayanova/src/components/dash-labor-hours-everyone-bar.vue @@ -304,7 +304,6 @@ async function initWidget(vm) { // async function fetchTranslatedText() { await window.$gz.translation.cacheTranslations([ - "Filter", "DateRangeYesterday", "DateRangeToday", "DateRangeLastWeek", diff --git a/ayanova/src/components/dash-labor-hours-everyone-line.vue b/ayanova/src/components/dash-labor-hours-everyone-line.vue index c31edcac..d629641e 100644 --- a/ayanova/src/components/dash-labor-hours-everyone-line.vue +++ b/ayanova/src/components/dash-labor-hours-everyone-line.vue @@ -306,7 +306,6 @@ async function initWidget(vm) { // async function fetchTranslatedText() { await window.$gz.translation.cacheTranslations([ - "Filter", "DateRangeYesterday", "DateRangeToday", "DateRangeLastWeek", diff --git a/ayanova/src/components/dash-labor-hours-personal-bar.vue b/ayanova/src/components/dash-labor-hours-personal-bar.vue index 6085a48f..7bfc9522 100644 --- a/ayanova/src/components/dash-labor-hours-personal-bar.vue +++ b/ayanova/src/components/dash-labor-hours-personal-bar.vue @@ -266,7 +266,6 @@ async function initWidget(vm) { // async function fetchTranslatedText() { await window.$gz.translation.cacheTranslations([ - "Filter", "DateRangeYesterday", "DateRangeToday", "DateRangeLastWeek", diff --git a/ayanova/src/components/dash-labor-hours-personal-line.vue b/ayanova/src/components/dash-labor-hours-personal-line.vue index 67f973b5..6389a468 100644 --- a/ayanova/src/components/dash-labor-hours-personal-line.vue +++ b/ayanova/src/components/dash-labor-hours-personal-line.vue @@ -269,7 +269,6 @@ async function initWidget(vm) { // async function fetchTranslatedText() { await window.$gz.translation.cacheTranslations([ - "Filter", "DateRangeYesterday", "DateRangeToday", "DateRangeLastWeek", diff --git a/ayanova/src/components/dash-work-order-completed-on-time-pct-bar.vue b/ayanova/src/components/dash-work-order-completed-on-time-pct-bar.vue index f420b6e2..67a09a8c 100644 --- a/ayanova/src/components/dash-work-order-completed-on-time-pct-bar.vue +++ b/ayanova/src/components/dash-work-order-completed-on-time-pct-bar.vue @@ -249,7 +249,6 @@ async function initWidget(vm) { // async function fetchTranslatedText() { await window.$gz.translation.cacheTranslations([ - "Filter", "DateRangeYesterday", "DateRangeToday", "DateRangeLastWeek", diff --git a/ayanova/src/components/dash-work-order-created-count-bar.vue b/ayanova/src/components/dash-work-order-created-count-bar.vue index 2fdcc668..26a4d3f6 100644 --- a/ayanova/src/components/dash-work-order-created-count-bar.vue +++ b/ayanova/src/components/dash-work-order-created-count-bar.vue @@ -266,7 +266,6 @@ async function initWidget(vm) { // async function fetchTranslatedText() { await window.$gz.translation.cacheTranslations([ - "Filter", "DateRangeYesterday", "DateRangeToday", "DateRangeLastWeek", diff --git a/ayanova/src/components/dash-work-order-created-count-line.vue b/ayanova/src/components/dash-work-order-created-count-line.vue index 44d3c878..0fa2de0a 100644 --- a/ayanova/src/components/dash-work-order-created-count-line.vue +++ b/ayanova/src/components/dash-work-order-created-count-line.vue @@ -269,7 +269,6 @@ async function initWidget(vm) { // async function fetchTranslatedText() { await window.$gz.translation.cacheTranslations([ - "Filter", "DateRangeYesterday", "DateRangeToday", "DateRangeLastWeek", diff --git a/ayanova/src/components/dash-work-order-status-count-bar.vue b/ayanova/src/components/dash-work-order-status-count-bar.vue index fe346633..faba7299 100644 --- a/ayanova/src/components/dash-work-order-status-count-bar.vue +++ b/ayanova/src/components/dash-work-order-status-count-bar.vue @@ -244,7 +244,6 @@ async function initWidget(vm) { // async function fetchTranslatedText() { await window.$gz.translation.cacheTranslations([ - "Filter", "DateRangeYesterday", "DateRangeToday", "DateRangeLastWeek", diff --git a/ayanova/src/components/dash-work-order-status-pct-bar.vue b/ayanova/src/components/dash-work-order-status-pct-bar.vue index c15fb21a..895c97d3 100644 --- a/ayanova/src/components/dash-work-order-status-pct-bar.vue +++ b/ayanova/src/components/dash-work-order-status-pct-bar.vue @@ -223,6 +223,7 @@ export default { name: "---", color: "#eeeeee" }); + console.log(this.meta); this.obj = res.data; } } catch (error) { @@ -246,7 +247,6 @@ async function initWidget(vm) { // async function fetchTranslatedText() { await window.$gz.translation.cacheTranslations([ - "Filter", "DateRangeYesterday", "DateRangeToday", "DateRangeLastWeek", diff --git a/ayanova/src/components/dash-workorder-by-status-list.vue b/ayanova/src/components/dash-workorder-by-status-list.vue index a9e47cde..a8254b54 100644 --- a/ayanova/src/components/dash-workorder-by-status-list.vue +++ b/ayanova/src/components/dash-workorder-by-status-list.vue @@ -22,8 +22,13 @@ {{ item.serial }}{{ $ay.dt(item.servicedate) }} + >{{ item.serial }} + $ayiFlag + {{ $ay.dt(item.servicedate) }} {{ item.name }} {{ item.notes }} @@ -72,19 +77,35 @@ class="ml-2" >$ayiLock - + > + + z.id == statusId); + if (ret && ret.length > 0) { + return ret[0].color; + } + }, showContext: function() { this.localSettings = window.$gz.util.deepCopySkip(this.settings); this.context = true; @@ -190,6 +217,8 @@ export default { updateSettings: function() { //copy settings from local to parent settings, need to do it this way or get error about mutating prop directly which is vexing and has no easy solution seemingly this.settings.customTitle = this.localSettings.customTitle; + this.settings.timeSpan = this.localSettings.timeSpan; + this.settings.interval = this.localSettings.interval; this.settings.wostatus = this.localSettings.wostatus; this.settings.wotags = this.localSettings.wotags; this.settings.wotagsany = this.localSettings.wotagsany; @@ -207,6 +236,8 @@ export default { const res = await window.$gz.api.post("kpi", { KPIName: "WorkOrderByStatusList", criteria: { + timeSpan: this.settings.timeSpan, + interval: this.settings.interval, wostatus: this.settings.wostatus, wotags: this.settings.wotags, wotagsany: this.settings.wotagsany, @@ -233,7 +264,7 @@ export default { async function initWidget(vm) { await fetchTranslatedText(); await fetchWorkorderStatusList(vm); - //populateSelectionLists(vm); + populateSelectionLists(vm); } ////////////////////////////////////////////////////////// @@ -242,6 +273,45 @@ async function initWidget(vm) { // async function fetchTranslatedText() { await window.$gz.translation.cacheTranslations([ + "DateRangeYesterday", + "DateRangeToday", + "DateRangeLastWeek", + "DateRangeThisWeek", + "DateRangeNextWeek", + "DateRangeLastMonth", + "DateRangeThisMonth", + "DateRangeNextMonth", + "DateRange14DayWindow", + "DateRangePast", + "DateRangeLastYear", + "DateRangeThisYear", + "DateRangeInTheLastThreeMonths", + "DateRangeInTheLastSixMonths", + "DateRangePastYear", + "DateRangePast90Days", + "DateRangePast30Days", + "DateRangePast7Days", + "DateRangePast24Hours", + "DateRangePast6Hours", + "DateRangeJanuary", + "DateRangeFebruary", + "DateRangeMarch", + "DateRangeApril", + "DateRangeMay", + "DateRangeJune", + "DateRangeJuly", + "DateRangeAugust", + "DateRangeSeptember", + "DateRangeOctober", + "DateRangeNovember", + "DateRangeDecember", + "DateRangePreviousYearThisMonth", + "DateRangePreviousYearLastMonth", + "DateRangePreviousYearNextMonth", + "TimeSpanDays", + "TimeSpanMonths", + "TimeSpan", + "Interval", "Name", "WorkOrder", "WorkOrderItem", @@ -258,8 +328,81 @@ async function fetchWorkorderStatusList(vm) { vm.formState.serverError = res.error; window.$gz.form.setErrorBoxErrors(vm); } else { - vm.selectLists.wostatus = res.data.all.filter(z => z.completed == false); //TODO: weed out closed status - vm.selectLists.wostatus.unshift(window.$gz.form.getNoSelectionItem(true)); + vm.selectLists.wostatus = res.data.all; + let noStatus = window.$gz.form.getNoSelectionItem(true); + noStatus.color = "#eeeeee"; + noStatus.locked = false; + noStatus.completed = false; + vm.selectLists.wostatus.unshift(noStatus); } } + +///////////////////////////////// +// +// +function populateSelectionLists(vm) { + vm.selectLists.dateFilterTokens.push( + ...[ + // { name: vm.$ay.t("DateRangeYesterday"), id: "*yesterday*" }, + // { name: vm.$ay.t("DateRangeToday"), id: "*today*" }, + { name: vm.$ay.t("DateRangeThisYear"), id: "*thisyear*" }, + { name: vm.$ay.t("DateRangeThisMonth"), id: "*thismonth*" }, + { name: vm.$ay.t("DateRangeThisWeek"), id: "*thisweek*" }, + { name: vm.$ay.t("DateRangeLastYear"), id: "*lastyear*" }, //prior year from jan to dec + { name: vm.$ay.t("DateRangeLastMonth"), id: "*lastmonth*" }, + { name: vm.$ay.t("DateRangeLastWeek"), id: "*lastweek*" }, + //-------------------------- rando ones ------------------- + { name: vm.$ay.t("DateRange14DayWindow"), id: "*14daywindow*" }, + { name: vm.$ay.t("DateRangePast"), id: "*past*" }, + { + name: vm.$ay.t("DateRangeInTheLastThreeMonths"), + id: "*last3months*" + }, + { + name: vm.$ay.t("DateRangeInTheLastSixMonths"), + id: "*last6months*" + }, + { name: vm.$ay.t("DateRangePastYear"), id: "*pastyear*" }, //last 365 days + { name: vm.$ay.t("DateRangePast90Days"), id: "*past90days*" }, + { name: vm.$ay.t("DateRangePast30Days"), id: "*past30days*" }, + { name: vm.$ay.t("DateRangePast7Days"), id: "*past7days*" }, + // { name: vm.$ay.t("DateRangePast24Hours"), id: "*past24hours*" }, + // { name: vm.$ay.t("DateRangePast6Hours"), id: "*past6hours*" }, + { name: vm.$ay.t("DateRangeJanuary"), id: "*january*" }, + { name: vm.$ay.t("DateRangeFebruary"), id: "*february*" }, + { name: vm.$ay.t("DateRangeMarch"), id: "*march*" }, + { name: vm.$ay.t("DateRangeApril"), id: "*april*" }, + { name: vm.$ay.t("DateRangeMay"), id: "*may*" }, + { name: vm.$ay.t("DateRangeJune"), id: "*june*" }, + { name: vm.$ay.t("DateRangeJuly"), id: "*july*" }, + { name: vm.$ay.t("DateRangeAugust"), id: "*august*" }, + { name: vm.$ay.t("DateRangeSeptember"), id: "*september*" }, + { name: vm.$ay.t("DateRangeOctober"), id: "*october*" }, + { name: vm.$ay.t("DateRangeNovember"), id: "*november*" }, + { name: vm.$ay.t("DateRangeDecember"), id: "*december*" }, + { + name: vm.$ay.t("DateRangePreviousYearThisMonth"), + id: "*lastyearthismonth*" + }, + { + name: vm.$ay.t("DateRangePreviousYearLastMonth"), + id: "*lastyearlastmonth*" + }, + { + name: vm.$ay.t("DateRangePreviousYearNextMonth"), + id: "*lastyearnextmonth*" + } + ] + ); + + vm.selectLists.units.push( + ...[ + { name: vm.$ay.t("TimeSpanDays"), id: "day" }, + { + name: vm.$ay.t("TimeSpanMonths"), + id: "month" + } + ] + ); +}