This commit is contained in:
2021-05-07 23:34:09 +00:00
parent d59f467f7e
commit 3d91aafed9

View File

@@ -1,219 +1,256 @@
<template> <template>
<div v-if="value != null"> <div v-if="value != null">
<v-col cols="12"> <v-row>
<v-menu offset-y> <v-col cols="12">
<template v-slot:activator="{ on, attrs }"> <v-menu offset-y>
<div class="text-subtitle-1"> <template v-slot:activator="{ on, attrs }">
<v-icon color="primary">$ayiUserClock</v-icon> <div class="text-subtitle-1">
{{ $ay.t("WorkOrderItemScheduledUserList") }} <v-icon color="primary">$ayiUserClock</v-icon>
<v-btn v-if="!parentDeleted" large icon v-bind="attrs" v-on="on"> {{ $ay.t("WorkOrderItemScheduledUserList") }}
<v-icon small color="primary">$ayiEllipsisV</v-icon> <v-btn v-if="!parentDeleted" large icon v-bind="attrs" v-on="on">
</v-btn> <v-icon small color="primary">$ayiEllipsisV</v-icon>
</div> </v-btn>
</template> </div>
<v-list> </template>
<v-list-item v-if="canAdd" @click="newItem"> <v-list>
<v-list-item-icon> <v-list-item v-if="canAdd" @click="newItem">
<v-icon>$ayiPlus</v-icon> <v-list-item-icon>
</v-list-item-icon> <v-icon>$ayiPlus</v-icon>
<v-list-item-title>{{ $ay.t("New") }}</v-list-item-title> </v-list-item-icon>
</v-list-item> <v-list-item-title>{{ $ay.t("New") }}</v-list-item-title>
<v-list-item v-if="canDelete && !isDeleted" @click="deleteItem"> </v-list-item>
<v-list-item-icon> <v-list-item v-if="canDelete && !isDeleted" @click="deleteItem">
<v-icon>$ayiTrashAlt</v-icon> <v-list-item-icon>
</v-list-item-icon> <v-icon>$ayiTrashAlt</v-icon>
<v-list-item-title>{{ $ay.t("SoftDelete") }}</v-list-item-title> </v-list-item-icon>
</v-list-item> <v-list-item-title>{{ $ay.t("SoftDelete") }}</v-list-item-title>
<v-list-item v-if="canDelete && isDeleted" @click="unDeleteItem"> </v-list-item>
<v-list-item-icon> <v-list-item v-if="canDelete && isDeleted" @click="unDeleteItem">
<v-icon>$ayiTrashRestoreAlt</v-icon> <v-list-item-icon>
</v-list-item-icon> <v-icon>$ayiTrashRestoreAlt</v-icon>
<v-list-item-title>{{ $ay.t("Undelete") }}</v-list-item-title> </v-list-item-icon>
</v-list-item> <v-list-item-title>{{ $ay.t("Undelete") }}</v-list-item-title>
</v-list> </v-list-item>
</v-menu> </v-list>
</v-col> </v-menu>
</v-col>
<template v-if="showTable"> <template v-if="showTable">
<!-- ################################ SCHEDULED USERS TABLE ############################### --> <!-- ################################ SCHEDULED USERS TABLE ############################### -->
<v-col cols="12" class="mb-10"> <v-col cols="12" class="mb-10">
<v-data-table <v-data-table
:headers="headerList" :headers="headerList"
:items="itemList" :items="itemList"
item-key="index" item-key="index"
v-model="selectedRow" v-model="selectedRow"
class="elevation-1" class="elevation-1"
disable-pagination disable-pagination
disable-filtering disable-filtering
disable-sort disable-sort
hide-default-footer hide-default-footer
data-cy="scheduledUsersTable" data-cy="scheduledUsersTable"
dense dense
:item-class="itemRowClasses" :item-class="itemRowClasses"
@click:row="handleRowClick" @click:row="handleRowClick"
:show-select="$vuetify.breakpoint.xs" :show-select="$vuetify.breakpoint.xs"
single-select single-select
>
</v-data-table>
</v-col>
</template>
<template v-if="activeItemIndex != null">
<v-btn
v-if="canDelete && isDeleted"
large
@click="unDeleteItem"
color="primary"
>{{ $ay.t("Undelete")
}}<v-icon right large>$ayiTrashRestoreAlt</v-icon></v-btn
> >
</v-data-table>
</v-col>
</template>
<template v-if="activeItemIndex != null">
<v-btn
v-if="canDelete && isDeleted"
large
@click="unDeleteItem"
color="primary"
>{{ $ay.t("Undelete")
}}<v-icon right large>$ayiTrashRestoreAlt</v-icon></v-btn
>
<v-col <v-col
v-if="form().showMe(this, 'WorkOrderItemScheduledUserStartDate')" v-if="form().showMe(this, 'WorkOrderItemScheduledUserStartDate')"
cols="12" cols="12"
sm="6" sm="6"
lg="4" lg="4"
xl="3" xl="3"
> >
<gz-date-time-picker <gz-date-time-picker
:label="$ay.t('WorkOrderItemScheduledUserStartDate')" :label="$ay.t('WorkOrderItemScheduledUserStartDate')"
v-model=" v-model="
value.items[activeWoItemIndex].scheduledUsers[activeItemIndex] value.items[activeWoItemIndex].scheduledUsers[activeItemIndex]
.startDate .startDate
" "
:readonly="formState.readOnly" :readonly="formState.readOnly"
:disabled="isDeleted" :disabled="isDeleted"
:ref=" :ref="
`Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].startDate`
"
data-cy="startDate"
:error-messages="
form().serverErrors(
this,
`Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].startDate` `Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].startDate`
) "
" data-cy="startDate"
@input=" :error-messages="
fieldValueChanged( form().serverErrors(
`Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].startDate` this,
) `Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].startDate`
" )
></gz-date-time-picker> "
</v-col> @input="
fieldValueChanged(
`Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].startDate`
)
"
></gz-date-time-picker>
</v-col>
<v-col <v-col
v-if="form().showMe(this, 'WorkOrderItemScheduledUserStopDate')" v-if="form().showMe(this, 'WorkOrderItemScheduledUserStopDate')"
cols="12" cols="12"
sm="6" sm="6"
lg="4" lg="4"
xl="3" xl="3"
> >
<gz-date-time-picker <gz-date-time-picker
:label="$ay.t('WorkOrderItemScheduledUserStopDate')" :label="$ay.t('WorkOrderItemScheduledUserStopDate')"
v-model=" v-model="
value.items[activeWoItemIndex].scheduledUsers[activeItemIndex] value.items[activeWoItemIndex].scheduledUsers[activeItemIndex]
.stopDate .stopDate
" "
:readonly="formState.readOnly" :readonly="formState.readOnly"
:disabled="isDeleted" :disabled="isDeleted"
:ref=" :ref="
`Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].stopDate`
"
data-cy="stopDate"
:error-messages="
form().serverErrors(
this,
`Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].stopDate` `Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].stopDate`
) "
" data-cy="stopDate"
@input=" :error-messages="
fieldValueChanged( form().serverErrors(
`Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].stopDate` this,
) `Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].stopDate`
" )
></gz-date-time-picker> "
</v-col> @input="
fieldValueChanged(
`Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].stopDate`
)
"
></gz-date-time-picker>
</v-col>
<v-col <v-col
v-if=" v-if="
form().showMe(this, 'WorkOrderItemScheduledUserEstimatedQuantity') form().showMe(this, 'WorkOrderItemScheduledUserEstimatedQuantity')
"
cols="12"
sm="6"
lg="4"
xl="3"
>
<gz-decimal
v-model="
value.items[activeWoItemIndex].scheduledUsers[activeItemIndex]
.estimatedQuantity
" "
:readonly="formState.readOnly || isDeleted" cols="12"
:disabled="isDeleted" sm="6"
:label="$ay.t('WorkOrderItemScheduledUserEstimatedQuantity')" lg="4"
:ref=" xl="3"
`Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].estimatedQuantity` >
" <gz-decimal
data-cy="scheduledUsers.EstimatedQuantity" v-model="
:error-messages=" value.items[activeWoItemIndex].scheduledUsers[activeItemIndex]
form().serverErrors( .estimatedQuantity
this, "
:readonly="formState.readOnly || isDeleted"
:disabled="isDeleted"
:label="$ay.t('WorkOrderItemScheduledUserEstimatedQuantity')"
:ref="
`Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].estimatedQuantity` `Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].estimatedQuantity`
) "
" data-cy="scheduledUsers.EstimatedQuantity"
:rules="[ :error-messages="
form().decimalValid( form().serverErrors(
this, this,
`Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].estimatedQuantity` `Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].estimatedQuantity`
), )
form().required( "
this, :rules="[
`Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].estimatedQuantity` form().decimalValid(
) this,
]" `Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].estimatedQuantity`
@input=" ),
fieldValueChanged(`Items[${activeWoItemIndex}].scheduledUsers[ form().required(
this,
`Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].estimatedQuantity`
)
]"
@input="
fieldValueChanged(`Items[${activeWoItemIndex}].scheduledUsers[
${activeItemIndex} ${activeItemIndex}
].estimatedQuantity`) ].estimatedQuantity`)
" "
></gz-decimal> ></gz-decimal>
</v-col> </v-col>
<v-col <v-col
v-if="form().showMe(this, 'WorkOrderItemScheduledUserUserID')" v-if="form().showMe(this, 'WorkOrderItemScheduledUserUserID')"
cols="12" cols="12"
sm="6" sm="6"
lg="4" lg="4"
xl="3" xl="3"
> >
<gz-pick-list <gz-pick-list
:aya-type="$ay.ayt().User" :aya-type="$ay.ayt().User"
variant="tech" variant="tech"
:show-edit-icon="true" :show-edit-icon="true"
v-model=" v-model="
value.items[activeWoItemIndex].scheduledUsers[activeItemIndex] value.items[activeWoItemIndex].scheduledUsers[activeItemIndex]
.userId .userId
" "
:readonly="formState.readOnly || isDeleted" :readonly="formState.readOnly || isDeleted"
:disabled="isDeleted" :disabled="isDeleted"
:label="$ay.t('WorkOrderItemScheduledUserUserID')" :label="$ay.t('WorkOrderItemScheduledUserUserID')"
:ref=" :ref="
`Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].userId`
"
data-cy="scheduledUsers.userid"
:error-messages="
form().serverErrors(
this,
`Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].userId` `Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].userId`
) "
" data-cy="scheduledUsers.userid"
@input=" :error-messages="
fieldValueChanged( form().serverErrors(
`Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].userId` this,
) `Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].userId`
" )
></gz-pick-list> "
</v-col> @input="
</template> fieldValueChanged(
`Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].userId`
)
"
></gz-pick-list>
</v-col>
<v-col
v-if="form().showMe(this, 'WorkOrderItemScheduledUserServiceRateID')"
cols="12"
sm="6"
lg="4"
xl="3"
>
<gz-pick-list
:aya-type="$ay.ayt().ServiceRate"
:show-edit-icon="true"
v-model="
value.items[activeWoItemIndex].scheduledUsers[activeItemIndex]
.serviceRateId
"
:readonly="formState.readOnly || isDeleted"
:disabled="isDeleted"
:label="$ay.t('WorkOrderItemScheduledUserServiceRateID')"
:ref="
`Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].serviceRateId`
"
data-cy="scheduledUsers.serviceRateId"
:error-messages="
form().serverErrors(
this,
`Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].serviceRateId`
)
"
@input="
fieldValueChanged(
`Items[${activeWoItemIndex}].scheduledUsers[${activeItemIndex}].serviceRateId`
)
"
></gz-pick-list>
</v-col>
</template>
</v-row>
</div> </div>
</template> </template>
<script> <script>
@@ -456,7 +493,7 @@ export default {
this.pvm.languageName this.pvm.languageName
), ),
userViz: x.userViz, userViz: x.userViz,
rateViz: x.rateViz rateViz: x.serviceRateViz
}; };
} }
); );