diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index 07d25c8a..7a2f301f 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -47,15 +47,41 @@ seeder wo need new fields and generate data to show off and test kpi widgets and https://www.ayanova.com/AyaNova7webHelp/index.html?dashboard.htm -time zone conversion at client + - Widgets to make for beta in order of priority **MUST HAVE*** - * LIST Unassigned work orders list for service manager + * LIST not scheduled work orders list for service manager [wo#], [date?best one],[customer],[summary] + criteria? + tags, currentstatus? + description: "Not assigned provides links to service workorders that have not yet been assigned to any schedulable resources." wo that is not a closed status, has no techs assigned to it in woitemscheduledusers (null or not extant) oldest to newest in list, maybe just a limited number like most recent 50 or something more button opens grid query for it if possible +Query stuff: + +SELECT AWORKORDER.SERIAL, + AWORKORDER.SERVICEDATE, + 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 AWORKORDERITEMSCHEDULEDUSER.ID IS NULL + AND LASTSTATUSID = 2 +ORDER BY AWORKORDER.ID ASC + +SELECT count(*) +FROM aworkorder +LEFT JOIN AWORKORDERSTATUS ON (aworkorder.LASTSTATUSID = AWORKORDERSTATUS.ID) +WHERE (laststatusid is null or AWORKORDERSTATUS.completed = false) + + + * LIST CSR's with OPEN status only in reverse chronological order for service manager * BAR/LINE Billed hours for all users available to service manager roles dupe of personal one but can select user or all users diff --git a/ayanova/src/api/dash-registry.js b/ayanova/src/api/dash-registry.js index 30ff9114..d61d4ed0 100644 --- a/ayanova/src/api/dash-registry.js +++ b/ayanova/src/api/dash-registry.js @@ -1,7 +1,26 @@ import authorizationroles from "./authorizationroles"; const role = authorizationroles.AUTHORIZATION_ROLES; +/* + +*/ export default { registry: [ + { + roles: [ + role.BizAdmin, + role.BizAdminRestricted, + role.ServiceRestricted, + role.Service, + role.Accounting, + role.Tech, + role.TechRestricted + ], + title: "DashboardNotScheduled", + icon: "$ayiListAlt", + type: "GzDashWorkorderUnscheduledOpenList", + singleOnly: false, + settings: {} + }, { roles: [ role.BizAdmin, diff --git a/ayanova/src/components/dash-workorder-unscheduled-open-list.vue b/ayanova/src/components/dash-workorder-unscheduled-open-list.vue new file mode 100644 index 00000000..9814a216 --- /dev/null +++ b/ayanova/src/components/dash-workorder-unscheduled-open-list.vue @@ -0,0 +1,346 @@ + + diff --git a/ayanova/src/plugins/vuetify.js b/ayanova/src/plugins/vuetify.js index 3b191c49..b7eab648 100644 --- a/ayanova/src/plugins/vuetify.js +++ b/ayanova/src/plugins/vuetify.js @@ -147,6 +147,7 @@ import { faLayerGroup, faLifeRing, faLink, + faListAlt, faListOl, faListUl, faLock, @@ -333,6 +334,7 @@ library.add( faLayerGroup, faLifeRing, faLink, + faListAlt, faListOl, faListUl, faLock, @@ -981,6 +983,12 @@ const CUSTOM_ICONS = { icon: ["fas", "link"] } }, + ayiListAlt: { + component: FontAwesomeIcon, + props: { + icon: ["fas", "list-alt"] + } + }, ayiListOl: { component: FontAwesomeIcon, props: {