This commit is contained in:
2022-02-24 01:06:21 +00:00
parent 8ef3a82545
commit 862b00704b
4 changed files with 25 additions and 155 deletions

View File

@@ -22,7 +22,14 @@ FIRST CLIENT SOURCE CODE COMMIT JAN 3rd 2019
# OUTSTANDING MAJOR AREAS TO BETA
seeder seems to be putting schedules in the early hours 1am onwards not in the day as expected
seeder wo created date not set properly, should match the way it's generated
seeder wo need new fields and generate data to show off and test kpi widgets and features
Add completed date to workorder, should be set when a closed status is set
used for numerous kpi stuff
adjust seeder to work with it so the closed state created date matches wo completed date
Also, can we calc "time to respond" based on anything extant or should there be some kind of additional field / system for that
i.e. maybe a workorder status is also a response status like some are closed??, then a mirror first response field like completeddate
dashboard widgets
@@ -30,31 +37,28 @@ They should be small and highly focused on a particular issue so that the user j
So a hypothetical workorder count per time period widget would have a this month, last month, ytd, last year to date etc or however.
Main idea being they are not needed to config, just pick the one you want
should support multiple copies of an item that is configurable
should support multiple copies if an item is configurable
- Widgets to make for beta
overdue workorders (booked on, in the past, not a closed status) for current scheduleable user
overdue workorders for all users available to service manager roles
Billed hours per month YTD for sched user (line chart)
Billed hours per month YTD for all users available to service manager roles (line chart)
Billed hours per day last 30 days for sched user (line chart)
Billed hours per day last 30 days for all users available to service manager roles (line chart)
Unassigned work orders for service manager
CSR's not accepted yet in reverse chronological order for service manager
Billable hours leader board case 3696: https://www.openfaas.com/blog/serverless-single-page-app/?utm_source=DigitalOcean_Newsletter
DASHBOARD:CR - open wo list by selectable status case 1974
Number of work orders created per day over time (from case 1882)
** THIS ONE FOR SURE IT"S TOP REQUESTED IN SURVEYS OF SERVICE MANAGERS
configurable time frame
v7 dashboard help doc:
% wo closed within close by date
What shows within the Dashboard depends on whether the account you are logged in as is a schedulable resource or not (set in your User entry screen),
and what your security group rights are to Service Workorders, Schedule Markers, Memos, and Customer Service Requests.
idea, not cased: closed state by status (i.e. different reasons for being closed)
If logged in as a user that is a schedulable resource, the Dashboard is where you can quickly see at a glance, as well as access:
•Overdue provides links to service workorders that were scheduled prior to today's present time and date as a reminder so that you do not forget to enter your
labor, parts, etc as well as checkmark Service Completed.
•Scheduled provides links to service workorders that are scheduled after today's date and time
•Service Rate Quantity shows at a glance totals for today, yesterday, current week, current month and current year of your Labor hours
(or whatever the unit charge is that you use). The label text Service Rate Quantity is taken from your Labor subsection of your service workorder entry screen.
•Reminders provide links to the next three future dated Schedule Markers or Follow Ups assigned to you as a schedulable resource.
Otherwise quick access for company information (name displayed is from your registered license) or Region specific name is displayed if the user logged in is assigned to a specific Region:
•Not assigned provides links to service workorders that have not yet been assigned to any schedulable resources.
•Overdue provides links to service workorders that were scheduled to schedulable resources of this company/specific region prior to today's present time and date.
Very useful as a reminder for both the dispatch manager and schedulable resources
•Next provides links to service workorders that are scheduled after today's date and time for schedulable resources of this company/specific region
•Service Rate Quantity shows at a glance totals for today, yesterday, current week, current month and current year of schedulable resources of this company/specific region
Labor hours (or whatever the unit charge is that you use). The label text Service Rate Quantity is taken from the Labor subsection of your service workorder entry screen.
•Customer Service Requests provides links to the next three not yet accepted customer service requests.

View File

@@ -73,18 +73,6 @@ export default {
title: "TEST Line chart widget",
type: "GzDashTestLineWidgetMonthlyTotalPrice",
scheduleableUserOnly: false
},
{
id: "TestDayCalendarWidget",
roles: [
role.BizAdmin,
role.BizAdminRestricted,
role.Sales,
role.SalesRestricted
],
title: "TEST calendar widget",
type: "GzDashTestDayCalendarWidget",
scheduleableUserOnly: false
}
],
availableItems() {

View File

@@ -1,120 +0,0 @@
<template>
<gz-dash
icon="$ayiTools"
:add-url="'svc-workorders/0'"
:update-frequency="0"
v-bind="$attrs"
@dash-refresh="loadData"
v-on="$listeners"
>
<template slot="main">
<v-calendar
color="primary"
type="day"
hide-header
interval-count="11"
first-interval="7"
interval-height="24"
interval-width="45"
:events="events"
:event-color="getEventColor"
:locale="languageName"
@click:event="showEvent"
></v-calendar>
</template>
</gz-dash>
</template>
<script>
import GzDash from "../components/dash-base.vue";
export default {
components: {
GzDash
},
props: {},
data() {
return {
events: [],
languageName: window.$gz.locale.getResolvedLanguage()
};
},
computed: {},
created() {
// this.loadData();
},
methods: {
loadData: function() {
const events = [];
const now = new Date();
const yy = now.getFullYear();
const mm = now.getMonth() + 1;
const dd = now.getDate();
events.push({
id: 45,
type: 34,
name: "WO 45",
start: getEventTimeStamp(yy, mm, dd, 8, "00"),
end: getEventTimeStamp(yy, mm, dd, 8, 45),
color: "orange"
});
events.push({
id: 22,
type: 34,
name: "WO 22",
start: getEventTimeStamp(yy, mm, dd, 9, "00"),
end: getEventTimeStamp(yy, mm, dd, 10, 30),
color: "blue"
});
events.push({
id: 33,
type: 34,
name: "WO 33",
start: getEventTimeStamp(yy, mm, dd, 11, "00"),
end: getEventTimeStamp(yy, mm, dd, 11, 30),
color: "green"
});
events.push({
id: 44,
type: 34,
name: "WO 44",
start: getEventTimeStamp(yy, mm, dd, 11, "00"),
end: getEventTimeStamp(yy, mm, dd, 11, 30),
color: "indigo"
});
events.push({
id: 55,
type: 34,
name: "WO 55",
start: getEventTimeStamp(yy, mm, dd, 11, "00"),
end: getEventTimeStamp(yy, mm, dd, 11, 45),
color: "purple"
});
events.push({
id: 34,
type: 34,
name: "WO 66",
start: getEventTimeStamp(yy, mm, dd, 13, "00"),
end: getEventTimeStamp(yy, mm, dd, 16, 45),
color: "teal"
});
this.events = events;
},
getEventColor(event) {
return event.color;
},
showEvent({ nativeEvent, event }) {
nativeEvent.stopPropagation();
alert(`STUB: OPEN ITEM (data: ${JSON.stringify(event)})`);
}
}
};
function getEventTimeStamp(yy, mm, dd, hh, minutes) {
return `${yy}-${mm}-${dd} ${hh}:${minutes}`;
}
</script>

View File

@@ -84,7 +84,6 @@ import DashRegistry from "../api/dash-registry";
//import GzDashTestListWidgetsPriciest from "../components/dash-test-list-widgets-priciest.vue";
import GzDashTestBarWidgetCountByUserType from "../components/dash-test-bar-widget-count-by-usertype.vue";
import GzDashTestLineWidgetMonthlyTotalPrice from "../components/dash-test-line-widget-monthly-total-price.vue";
import GzDashTestDayCalendarWidget from "../components/dash-test-day-calendar-widget.vue";
import GzDashTodayScheduledWo from "../components/dash-today-scheduled-wo.vue";
import GzDashTodayReminders from "../components/dash-today-reminders.vue";
import GzDashTodayReviews from "../components/dash-today-reviews.vue";
@@ -94,7 +93,6 @@ export default {
//GzDashTestListWidgetsPriciest,
GzDashTestBarWidgetCountByUserType,
GzDashTestLineWidgetMonthlyTotalPrice,
GzDashTestDayCalendarWidget,
GzDashTodayScheduledWo,
GzDashTodayReminders,
GzDashTodayReviews