This commit is contained in:
@@ -22,15 +22,34 @@ FIRST CLIENT SOURCE CODE COMMIT JAN 3rd 2019
|
|||||||
|
|
||||||
# OUTSTANDING MAJOR AREAS TO BETA
|
# OUTSTANDING MAJOR AREAS TO BETA
|
||||||
|
|
||||||
|
widgets.
|
||||||
|
|
||||||
|
They should be small and highly focused on a particular issue so that the user just picks the one they want and that's it, no config as it's built for a specific config already.
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
do a linux server install fresh again here locally to confirm each step is still legit
|
|
||||||
spin up another server on d.o. and do a clean install as non root user right through to dns and everything, maybe keep that spare server as one can send link to people
|
|
||||||
who were interested in trying it out
|
|
||||||
|
|
||||||
|
v7 dashboard help doc:
|
||||||
|
|
||||||
Seeder should not generate too many closed work orders close to current date and time, it fucks up testing for people.
|
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),
|
||||||
Only older ones should be closed, newer ones should all be open and only a small portion of them should be closed.
|
and what your security group rights are to Service Workorders, Schedule Markers, Memos, and Customer Service Requests.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,13 @@ export default {
|
|||||||
// title: "Priciest widgets (all time) ",
|
// title: "Priciest widgets (all time) ",
|
||||||
// type: "GzDashTestListWidgetsPriciest"
|
// type: "GzDashTestListWidgetsPriciest"
|
||||||
// },
|
// },
|
||||||
|
{
|
||||||
|
id: "TestScheduleableOnly",
|
||||||
|
roles: [role.Tech, role.TechRestricted],
|
||||||
|
title: "TEST sched user widget",
|
||||||
|
type: "NextSchedItem",
|
||||||
|
scheduleableUserOnly: true
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "TestBarWidgetCountByUserType",
|
id: "TestBarWidgetCountByUserType",
|
||||||
roles: [
|
roles: [
|
||||||
@@ -22,7 +29,8 @@ export default {
|
|||||||
role.SalesRestricted
|
role.SalesRestricted
|
||||||
],
|
],
|
||||||
title: "TEST Bar chart widget",
|
title: "TEST Bar chart widget",
|
||||||
type: "GzDashTestBarWidgetCountByUserType"
|
type: "GzDashTestBarWidgetCountByUserType",
|
||||||
|
scheduleableUserOnly: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "TestLineWidgetMonthlyTotalPrice",
|
id: "TestLineWidgetMonthlyTotalPrice",
|
||||||
@@ -33,7 +41,8 @@ export default {
|
|||||||
role.SalesRestricted
|
role.SalesRestricted
|
||||||
],
|
],
|
||||||
title: "TEST Line chart widget",
|
title: "TEST Line chart widget",
|
||||||
type: "GzDashTestLineWidgetMonthlyTotalPrice"
|
type: "GzDashTestLineWidgetMonthlyTotalPrice",
|
||||||
|
scheduleableUserOnly: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "TestDayCalendarWidget",
|
id: "TestDayCalendarWidget",
|
||||||
@@ -44,14 +53,23 @@ export default {
|
|||||||
role.SalesRestricted
|
role.SalesRestricted
|
||||||
],
|
],
|
||||||
title: "TEST calendar widget",
|
title: "TEST calendar widget",
|
||||||
type: "GzDashTestDayCalendarWidget"
|
type: "GzDashTestDayCalendarWidget",
|
||||||
|
scheduleableUserOnly: false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
availableItems() {
|
availableItems() {
|
||||||
const ret = [];
|
const ret = [];
|
||||||
for (let i = 0; i < this.registry.length; i++) {
|
for (let i = 0; i < this.registry.length; i++) {
|
||||||
const item = this.registry[i];
|
const item = this.registry[i];
|
||||||
|
|
||||||
if (authorizationroles.hasRole(item.roles)) {
|
if (authorizationroles.hasRole(item.roles)) {
|
||||||
|
//if it's only for sched users and not then skip
|
||||||
|
if (
|
||||||
|
item.scheduleableUserOnly &&
|
||||||
|
!window.$gz.store.getters.isScheduleableUser
|
||||||
|
) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
ret.push({ id: item.id, title: item.title, type: item.type });
|
ret.push({ id: item.id, title: item.title, type: item.type });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -79,12 +79,14 @@ import DashRegistry from "../api/dash-registry";
|
|||||||
import GzDashTestBarWidgetCountByUserType from "../components/dash-test-bar-widget-count-by-usertype.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 GzDashTestLineWidgetMonthlyTotalPrice from "../components/dash-test-line-widget-monthly-total-price.vue";
|
||||||
import GzDashTestDayCalendarWidget from "../components/dash-test-day-calendar-widget.vue";
|
import GzDashTestDayCalendarWidget from "../components/dash-test-day-calendar-widget.vue";
|
||||||
|
import NextSchedItem from "../components/dash-test-day-calendar-widget.vue";
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
//GzDashTestListWidgetsPriciest,
|
//GzDashTestListWidgetsPriciest,
|
||||||
GzDashTestBarWidgetCountByUserType,
|
GzDashTestBarWidgetCountByUserType,
|
||||||
GzDashTestLineWidgetMonthlyTotalPrice,
|
GzDashTestLineWidgetMonthlyTotalPrice,
|
||||||
GzDashTestDayCalendarWidget
|
GzDashTestDayCalendarWidget,
|
||||||
|
NextSchedItem
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|||||||
Reference in New Issue
Block a user