This commit is contained in:
@@ -11,41 +11,60 @@
|
||||
|
||||
## ROUGH SCHEDULE TO GET TO BETA
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Schedule form
|
||||
|
||||
SVC-SCHEDULE OUTSTANDING ITEMS
|
||||
|
||||
Hover show technician??
|
||||
|
||||
Port fetch events changes to personal schedule
|
||||
if all events are timed then why am I sending timed as a field back from the server when I can just add that while building the event array at client?
|
||||
|
||||
Filter and sort issues:
|
||||
Not in settings? Separate filter icon at top mimic data table UI?
|
||||
Saved filters with order and names so users can quickly flip between groups of users?
|
||||
Consider how to add filter by tag for users to schedule so can quickly select by tag(s)
|
||||
sort order?? Not sure how to handle this one as filter and ad-hoc sort are at odds
|
||||
View schedule by user so can click through user to schedule for *that* user alone, (brings up home-schedule maybe or I guess a copy would be easiest)
|
||||
this will solve issue when people say "Why can't I view month but for one user instead?"
|
||||
probably easiest from both the User edit form for admin and from the svc-schedule form (maybe a link on their names at top?? Opens same view currently selected but for that *one* user)
|
||||
tech selection setting control ?
|
||||
vertical in table in settings
|
||||
show all techs in table with prior selections in order at the top and non selected at the end in alpha order
|
||||
each row has up down control and checkbox to show so "Name|^|v|show"
|
||||
Choose techs feature:
|
||||
Not in settings, separate feature Show filter icon opens tag picker (or persistent tag picker??)
|
||||
tag picker surfaced all time in large views or in settings for narrow views
|
||||
filters users by tags and shows them in alpha order by name
|
||||
NO ability to set the order for this release but we could consider adding a field as a sorting field later
|
||||
Tag selection is persistent and stored with the users temp settings so persistent by browser not saved to server
|
||||
|
||||
During settings form, fetchEvents should be disabled until after save as changing DOW is triggering fetch which can be slow in a loaded sched
|
||||
|
||||
See about including no tech items as sched should show them as unassigned or something it's built in for non matches but I could enable that anyway
|
||||
it was in v7
|
||||
maybe always far right by default, but then people may not want it to take up space
|
||||
maybe included with the tag selector as a checkbox to automatically include unassigned
|
||||
maybe it's a drill into unassigned on it's own?? but then can't drag to a tech as would be useful feature of this
|
||||
3698 - hide unassigned tech slot (or case 3697 above would take care of that too)
|
||||
|
||||
Remove day view options and replace by category view I think, but keep code and see how it goes may be switch back in again if demanded or makes sense
|
||||
instead of new translation key, just use the day name but use it with the category view
|
||||
Keep both Day view and Category views but make category the default drill into view when click on a date
|
||||
|
||||
need ability to drag to another tech in category view
|
||||
User colors? Is this even going to be a thing or needed anymore??
|
||||
in v7 it was only in calendar so if not in calendar now then no need
|
||||
|
||||
3697 - arbitrarily order schedule by user instead of built in by lastname
|
||||
schedule settings keyed by form re-use
|
||||
3698 - hide unassigned tech slot (or case 3697 above would take care of that too)
|
||||
|
||||
need ability to drag to another tech in category view
|
||||
|
||||
Drill down to schedule by user so can click through user to schedule for *that* user alone, (brings up home-schedule maybe or I guess a copy would be easiest)
|
||||
this will solve issue when people say "Why can't I view month but for one user instead?"
|
||||
probably easiest from both the User edit form for admin and from the svc-schedule form (maybe a link on their names at top?? Opens same view currently selected but for that *one* user)
|
||||
This is an important and must have feature for inital release
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
3766 - view schedule filtered by customer so can see at a glance all past and future for a single customer (more data table filter similarity)
|
||||
"show all " but on a schedule to view that way instead of a data table
|
||||
also maybe supported for the customer user as well or defer that but make a case for it as a future feature
|
||||
yes, do this, very important
|
||||
CUST-SCHEDULE
|
||||
|
||||
|
||||
Customer work order form / view / open???
|
||||
Customer CSR form has a bunch of todo in the template, WTF?
|
||||
Dashboard / widgets
|
||||
|
||||
@@ -78,6 +78,7 @@
|
||||
@mouseup:day="endDragExtend"
|
||||
@mouseup:time="endDragExtend"
|
||||
@mouseleave.native="cancelDrag"
|
||||
event-overlap-mode="column"
|
||||
>
|
||||
<template v-slot:event="{ event, timed, eventSummary }">
|
||||
<div class="v-event-draggable">
|
||||
|
||||
@@ -89,17 +89,17 @@
|
||||
@mouseup:time="endDragExtend"
|
||||
@mouseup:time-category="endDragExtend"
|
||||
@mouseleave.native="cancelDrag"
|
||||
event-overlap-mode="column"
|
||||
category-show-all
|
||||
:categories="categories"
|
||||
category-text="name"
|
||||
category-for-invalid="UNKNOWN USER"
|
||||
>
|
||||
<!-- @mousemove:day-category="mouseMoveMonthView" category-hide-dynamic -->
|
||||
<template v-slot:event="{ event, timed, eventSummary }">
|
||||
<template v-slot:event="{ event, eventSummary }">
|
||||
<div class="v-event-draggable">
|
||||
<v-icon small :color="event.textColor" class="mr-1">{{
|
||||
<!-- <v-icon small :color="event.textColor" class="mr-1">{{
|
||||
iconForEvent(event.type)
|
||||
}}</v-icon>
|
||||
}}</v-icon> -->
|
||||
|
||||
<span
|
||||
:class="event.textColor + '--text'"
|
||||
@@ -114,7 +114,7 @@
|
||||
>
|
||||
</div>
|
||||
<div
|
||||
v-if="timed && event.editable"
|
||||
v-if="event.editable"
|
||||
class="v-event-drag-bottom"
|
||||
@mousedown.stop="extendBottom(event)"
|
||||
></div>
|
||||
@@ -163,175 +163,98 @@
|
||||
<v-toolbar-title>{{ selectedEvent.name }}</v-toolbar-title>
|
||||
</v-toolbar>
|
||||
<v-card-text>
|
||||
<!--reminder -->
|
||||
<template v-if="selectedEvent.type == $ay.ayt().Reminder">
|
||||
<div>
|
||||
<span class="text-h6">{{ $ay.t("ReminderName") }}:</span>
|
||||
<span class="text-body-1 ml-2">{{ evInfo.name }}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-h6"
|
||||
>{{ $ay.t("DashboardScheduled") }}:</span
|
||||
>
|
||||
<span class="text-body-1 ml-2"
|
||||
>{{ $ay.dt(evInfo.startDate) }} — {{
|
||||
$ay.dt(evInfo.stopDate)
|
||||
}}</span
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-h6">{{ $ay.t("ReminderNotes") }}:</span>
|
||||
<span class="text-body-1 ml-2">
|
||||
<v-icon class="mr-3" :color="evInfo.color"
|
||||
>$ayiSquareFull</v-icon
|
||||
>{{ evInfo.notes }}</span
|
||||
>
|
||||
</div>
|
||||
</template>
|
||||
<!--review -->
|
||||
<template v-if="selectedEvent.type == $ay.ayt().Review">
|
||||
<div class="mb-1" v-if="evInfo.aType">
|
||||
<v-icon
|
||||
large
|
||||
color="primary"
|
||||
@click="openObject(evInfo.aType, evInfo.objectId)"
|
||||
>{{ $ay.util().iconForType(evInfo.aType) }}</v-icon
|
||||
><span
|
||||
class="text-h6"
|
||||
@click="openObject(evInfo.aType, evInfo.objectId)"
|
||||
>
|
||||
{{ evInfo.reviewObjectViz }}</span
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-h6">{{ $ay.t("ReviewName") }}:</span>
|
||||
<span class="text-body-1 ml-2">{{ evInfo.name }}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-h6">{{ $ay.t("ReviewDate") }}:</span>
|
||||
<span class="text-body-1 ml-2">{{
|
||||
$ay.dt(evInfo.reviewDate)
|
||||
}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-h6">{{ $ay.t("ReviewNotes") }}:</span>
|
||||
<span class="text-body-1 ml-2"> {{ evInfo.notes }}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-h6">{{ $ay.t("WorkOrder") }}:</span>
|
||||
<span class="text-body-1 ml-2"
|
||||
>{{ evInfo.serial }} {{ evInfo.customerViz }}</span
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-h6">{{ $ay.t("Tags") }}:</span>
|
||||
<span class="text-body-1 ml-2">{{
|
||||
$ay.util().formatTags(evInfo.wotags)
|
||||
}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-h6"
|
||||
>{{ $ay.t("WorkOrderItemScheduledUserUserID") }}:</span
|
||||
>
|
||||
<span class="text-body-1 ml-2">{{ evInfo.scheduser }}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-h6"
|
||||
>{{ $ay.t("DashboardScheduled") }}:</span
|
||||
>
|
||||
<span class="text-body-1 ml-2"
|
||||
>{{ $ay.dt(evInfo.startDate) }} — {{
|
||||
$ay.dt(evInfo.stopDate)
|
||||
}}</span
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-h6"
|
||||
>{{
|
||||
$ay.t("WorkOrderItemScheduledUserEstimatedQuantity")
|
||||
}}:</span
|
||||
>
|
||||
<span class="text-body-1 ml-2">{{ evInfo.qty }}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-h6"
|
||||
>{{
|
||||
$ay.t("WorkOrderItemScheduledUserServiceRateID")
|
||||
}}:</span
|
||||
>
|
||||
<span class="text-body-1 ml-2">{{ evInfo.rate }}</span>
|
||||
</div>
|
||||
|
||||
<template v-if="evInfo.completedDate">
|
||||
<div>
|
||||
<span class="text-h6"
|
||||
>{{ $ay.t("ReviewCompletedDate") }}:</span
|
||||
>
|
||||
<span class="text-body-1 ml-2">{{
|
||||
$ay.dt(evInfo.completedDate)
|
||||
}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-h6"
|
||||
>{{ $ay.t("ReviewCompletionNotes") }}:</span
|
||||
>
|
||||
<span class="text-body-1 ml-2">
|
||||
{{ evInfo.completionNotes }}</span
|
||||
>
|
||||
</div>
|
||||
</template>
|
||||
</template>
|
||||
<!--woitemscheduleduser -->
|
||||
<template
|
||||
v-if="
|
||||
selectedEvent.type == $ay.ayt().WorkOrderItemScheduledUser
|
||||
"
|
||||
>
|
||||
<div>
|
||||
<span class="text-h6">{{ $ay.t("WorkOrder") }}:</span>
|
||||
<span class="text-body-1 ml-2"
|
||||
>{{ evInfo.serial }} {{ evInfo.customerViz }}</span
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-h6">{{ $ay.t("Tags") }}:</span>
|
||||
<span class="text-body-1 ml-2">{{
|
||||
$ay.util().formatTags(evInfo.wotags)
|
||||
}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-h6"
|
||||
>{{ $ay.t("DashboardScheduled") }}:</span
|
||||
>
|
||||
<span class="text-body-1 ml-2"
|
||||
>{{ $ay.dt(evInfo.startDate) }} — {{
|
||||
$ay.dt(evInfo.stopDate)
|
||||
}}</span
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-h6"
|
||||
>{{
|
||||
$ay.t("WorkOrderItemScheduledUserEstimatedQuantity")
|
||||
}}:</span
|
||||
>
|
||||
<span class="text-body-1 ml-2">{{ evInfo.qty }}</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-h6"
|
||||
>{{
|
||||
$ay.t("WorkOrderItemScheduledUserServiceRateID")
|
||||
}}:</span
|
||||
>
|
||||
<span class="text-body-1 ml-2">{{ evInfo.rate }}</span>
|
||||
</div>
|
||||
<div v-if="evInfo.haswostatus">
|
||||
<span class="text-h6">{{ $ay.t("WorkOrderStatus") }}:</span>
|
||||
<span class="text-body-1 ml-2">{{ evInfo.wostatus }}</span>
|
||||
<v-icon :color="evInfo.wostatuscolor" class="ml-4"
|
||||
>$ayiFlag</v-icon
|
||||
>
|
||||
<v-icon
|
||||
color="primary"
|
||||
v-if="evInfo.wostatuslocked"
|
||||
class="ml-4"
|
||||
>$ayiLock</v-icon
|
||||
>
|
||||
<v-icon
|
||||
color="primary"
|
||||
v-if="evInfo.wostatuscompleted"
|
||||
class="ml-4"
|
||||
>$ayiCheckCircle</v-icon
|
||||
>
|
||||
</div>
|
||||
|
||||
<div v-if="evInfo.haswostatus">
|
||||
<span class="text-h6">{{ $ay.t("WorkOrderStatus") }}:</span>
|
||||
<span class="text-body-1 ml-2">{{ evInfo.wostatus }}</span>
|
||||
<v-icon :color="evInfo.wostatuscolor" class="ml-4"
|
||||
>$ayiFlag</v-icon
|
||||
>
|
||||
<v-icon
|
||||
color="primary"
|
||||
v-if="evInfo.wostatuslocked"
|
||||
class="ml-4"
|
||||
>$ayiLock</v-icon
|
||||
>
|
||||
<v-icon
|
||||
color="primary"
|
||||
v-if="evInfo.wostatuscompleted"
|
||||
class="ml-4"
|
||||
>$ayiCheckCircle</v-icon
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-h6"
|
||||
>{{ $ay.t("WorkOrderItemSummary") }}:</span
|
||||
>
|
||||
<span class="text-body-1 ml-2">
|
||||
<v-icon class="mr-3" :color="evInfo.woitemstatuscolor"
|
||||
>$ayiCircle</v-icon
|
||||
>{{ evInfo.woitemstatus }}</span
|
||||
>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<span class="text-h6"
|
||||
>{{ $ay.t("WorkOrderItemSummary") }}:</span
|
||||
>
|
||||
<span class="text-body-1 ml-2">
|
||||
<v-icon class="mr-3" :color="evInfo.woitemstatuscolor"
|
||||
>$ayiCircle</v-icon
|
||||
>{{ evInfo.woitemstatus }}</span
|
||||
>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<span class="text-h6"
|
||||
>{{ $ay.t("WorkOrderItemPriorityID") }}:</span
|
||||
>
|
||||
<span class="text-body-1 ml-2">
|
||||
<v-icon class="mr-3" :color="evInfo.woitemprioritycolor"
|
||||
>$ayiFireAlt</v-icon
|
||||
>{{ evInfo.woitempriority }}</span
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-h6"
|
||||
>{{ $ay.t("WorkOrderItemTags") }}:</span
|
||||
>
|
||||
<span class="text-body-1 ml-2">{{
|
||||
$ay.util().formatTags(evInfo.woitemtags)
|
||||
}}</span>
|
||||
</div>
|
||||
</template>
|
||||
<div>
|
||||
<span class="text-h6"
|
||||
>{{ $ay.t("WorkOrderItemPriorityID") }}:</span
|
||||
>
|
||||
<span class="text-body-1 ml-2">
|
||||
<v-icon class="mr-3" :color="evInfo.woitemprioritycolor"
|
||||
>$ayiFireAlt</v-icon
|
||||
>{{ evInfo.woitempriority }}</span
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-h6">{{ $ay.t("WorkOrderItemTags") }}:</span>
|
||||
<span class="text-body-1 ml-2">{{
|
||||
$ay.util().formatTags(evInfo.woitemtags)
|
||||
}}</span>
|
||||
</div>
|
||||
</v-card-text>
|
||||
<v-card-actions>
|
||||
<v-btn color="primary" text @click="openScheduledItem()">{{
|
||||
@@ -1155,10 +1078,8 @@ async function fetchTranslatedText() {
|
||||
"ScheduleShowTypes",
|
||||
"NoColor",
|
||||
"WorkOrder",
|
||||
"Reminder",
|
||||
"WorkOrderList",
|
||||
"ReminderList",
|
||||
"ReviewList",
|
||||
"WorkOrderItemScheduledUserUserID",
|
||||
"DashboardScheduled",
|
||||
"WorkOrderItemPriorityID",
|
||||
"WorkOrderItemSummary",
|
||||
@@ -1166,14 +1087,7 @@ async function fetchTranslatedText() {
|
||||
"WorkOrderStatus",
|
||||
"WorkOrderItemScheduledUserEstimatedQuantity",
|
||||
"WorkOrderItemScheduledUserServiceRateID",
|
||||
"WorkOrderItemTags",
|
||||
"ReminderName",
|
||||
"ReviewDate",
|
||||
"ReminderNotes",
|
||||
"ReviewName",
|
||||
"ReviewNotes",
|
||||
"ReviewCompletedDate",
|
||||
"ReviewCompletionNotes"
|
||||
"WorkOrderItemTags"
|
||||
]);
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user