diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt
index f9cc1808..c14552f9 100644
--- a/ayanova/devdocs/todo.txt
+++ b/ayanova/devdocs/todo.txt
@@ -31,7 +31,7 @@ FIRST CLIENT SOURCE CODE COMMIT JAN 3rd 2019
# SEEDING ISSUES
-seeder wo created date not set properly, should match the way it's generated
+??seeder wo created date not set properly, should match the way it's generated
seeder make reminders and reviews for all users, just random scattering for now to future month ahead at least one per day to show off schedule and widgets
seeder wo need new fields and generate data to show off and test kpi widgets and features
@@ -44,22 +44,37 @@ seeder wo need new fields and generate data to show off and test kpi widgets and
-# WIDGET ISSUES
-
-
-
+# WIDGETS
+https://www.calculator.net/percent-calculator.html
- Widgets to make for beta in order of priority
**MUST HAVE***
- *** FIX FIRST: Unscheduled is showing dupes, maybe it's one per woitem??
-
- * LIST overdue workorders (booked on, in the past, not a closed status) for current scheduleable user
+ * LIST overdue workorders (booked on, in the past, not a closed status, passed completeby date) for current scheduleable user
criteria:
tags wo, woitem
+
+SELECT distinct(AWORKORDER.ID),
+ AWORKORDER.SERIAL,
+ AWORKORDER.completebydate,
+ ACUSTOMER.NAME,
+ AWORKORDER.NOTES
+FROM AWORKORDER
+LEFT JOIN AWORKORDERITEM ON AWORKORDER.ID = AWORKORDERITEM.WORKORDERID
+LEFT JOIN AWORKORDERITEMSCHEDULEDUSER ON AWORKORDERITEM.ID = AWORKORDERITEMSCHEDULEDUSER.WORKORDERITEMID
+LEFT JOIN AWORKORDERSTATUS ON (AWORKORDER.LASTSTATUSID = AWORKORDERSTATUS.ID)
+LEFT JOIN ACUSTOMER ON (AWORKORDER.CUSTOMERID = ACUSTOMER.ID)
+WHERE (LASTSTATUSID IS NULL OR AWORKORDERSTATUS.COMPLETED = FALSE) and aworkorder.completebydate < now()
+ AND AWORKORDERITEMSCHEDULEDUSER.userID = 10
+ORDER BY AWORKORDER.ID ASC
+
+
+
+
* LIST overdue workorders list not user centric available to service manager roles
criteria:
tags wo, woitem
+
LINE/BAR Count of work orders created per day over time (from case 1882)
criteria:
timespan and INTERVAL
diff --git a/ayanova/src/api/dash-registry.js b/ayanova/src/api/dash-registry.js
index f16824d7..183cd27d 100644
--- a/ayanova/src/api/dash-registry.js
+++ b/ayanova/src/api/dash-registry.js
@@ -5,6 +5,19 @@ const role = authorizationroles.AUTHORIZATION_ROLES;
*/
export default {
registry: [
+ {
+ roles: [role.Tech, role.TechRestricted],
+ title: "DashboardOverdue",
+ icon: "$ayiListAlt",
+ type: "GzDashWorkorderOverduePersonalList",
+ scheduleableUserOnly: true,
+ singleOnly: true,
+ settings: {
+ customTitle: null,
+ wotags: [],
+ woitemtags: []
+ }
+ },
{
roles: [
role.BizAdmin,
diff --git a/ayanova/src/components/dash-test-bar-widget-count-by-usertype.vue b/ayanova/src/components/dash-test-bar-widget-count-by-usertype.vue
deleted file mode 100644
index bde1bf65..00000000
--- a/ayanova/src/components/dash-test-bar-widget-count-by-usertype.vue
+++ /dev/null
@@ -1,108 +0,0 @@
-
-
-
- settings:{{ settings }}
-
-
-
-
-
diff --git a/ayanova/src/components/dash-workorder-overdue-personal-list.vue b/ayanova/src/components/dash-workorder-overdue-personal-list.vue
new file mode 100644
index 00000000..6d4ff6f8
--- /dev/null
+++ b/ayanova/src/components/dash-workorder-overdue-personal-list.vue
@@ -0,0 +1,170 @@
+
+
+
+
+
+ {{ $ay.t("NoData") }}
+
+
+
+
+ {{ item.serial }}{{ $ay.dt(item.completebydate) }}
+ {{ item.name }}
+ {{ item.notes }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $ay.t("Settings") }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{
+ $ay.t("Cancel")
+ }}
+
+ {{ $ay.t("Save") }}
+
+
+
+
+
+
+
+
diff --git a/ayanova/src/views/home-dashboard.vue b/ayanova/src/views/home-dashboard.vue
index 3fc68755..6598b60c 100644
--- a/ayanova/src/views/home-dashboard.vue
+++ b/ayanova/src/views/home-dashboard.vue
@@ -91,7 +91,8 @@ import GzDashLaborHoursPersonalBar from "../components/dash-labor-hours-personal
import GzDashLaborHoursEveryoneLine from "../components/dash-labor-hours-everyone-line.vue";
import GzDashLaborHoursEveryoneBar from "../components/dash-labor-hours-everyone-bar.vue";
import GzDashWorkorderUnscheduledOpenList from "../components/dash-workorder-unscheduled-open-list.vue";
-import GzDashCSROpenList from "../components/dash-csr-open-list";
+import GzDashCSROpenList from "../components/dash-csr-open-list.vue";
+import GzDashWorkorderOverduePersonalList from "../components/dash-workorder-overdue-personal-list.vue";
export default {
components: {
@@ -103,7 +104,8 @@ export default {
GzDashWorkorderUnscheduledOpenList,
GzDashCSROpenList,
GzDashLaborHoursEveryoneLine,
- GzDashLaborHoursEveryoneBar
+ GzDashLaborHoursEveryoneBar,
+ GzDashWorkorderOverduePersonalList
},
data() {
return {
diff --git a/ayanova/src/views/login.vue b/ayanova/src/views/login.vue
index 27c8719c..a552b8f0 100644
--- a/ayanova/src/views/login.vue
+++ b/ayanova/src/views/login.vue
@@ -77,7 +77,11 @@
:error-box-message="formState.errorBoxMessage"
>
-
+
+ BETA TEST - NOT FOR PRODUCTION USE
+
-
- BETA TEST - NOT FOR PRODUCTION USE
-
+