This commit is contained in:
2021-05-26 15:45:29 +00:00
parent 0513ffc3d8
commit 57f6628d0a
4 changed files with 57 additions and 197 deletions

View File

@@ -347,7 +347,8 @@ CURRENTLY DOING: workorderitem part, front end
ORDER: parts, part requests, loans, units, outside service
todo: test all Override column header visibility, still funky after fix earlier I bet
todo: viz fields display in edit part of form when only one record, but hide when multiple as they show in the table instead??
show as a line where the table would be??
todo: "DispatchFull" and "DispatchLimited" roles MUST be renamed to "ServiceFull" and "ServiceLimited" to match other roles and intent
dispatch is a subset of a service manager job
Rename at both ends and all translations and docs as well.

View File

@@ -55,12 +55,6 @@
:show-select="$vuetify.breakpoint.xs"
single-select
>
<template v-slot:[`item.taxOnTax`]="{ item }">
<v-simple-checkbox
v-model="item.taxOnTax"
disabled
></v-simple-checkbox>
</template>
</v-data-table>
</v-col>
</template>

View File

@@ -55,12 +55,6 @@
:show-select="$vuetify.breakpoint.xs"
single-select
>
<template v-slot:[`item.taxOnTax`]="{ item }">
<v-simple-checkbox
v-model="item.taxOnTax"
disabled
></v-simple-checkbox>
</template>
</v-data-table>
</v-col>
</template>
@@ -75,80 +69,7 @@
>
<v-col
v-if="form().showMe(this, 'WorkOrderItemPartServiceStartDate')"
cols="12"
sm="6"
lg="4"
xl="3"
>
<gz-date-time-picker
:label="$ay.t('WorkOrderItemPartServiceStartDate')"
v-model="
value.items[activeWoItemIndex].parts[activeItemIndex]
.serviceStartDate
"
:readonly="formState.readOnly"
:disabled="isDeleted"
:ref="
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].serviceStartDate`
"
data-cy="serviceStartDate"
:error-messages="
form().serverErrors(
this,
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].serviceStartDate`
)
"
@input="
fieldValueChanged(
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].serviceStartDate`
)
"
></gz-date-time-picker>
</v-col>
<v-col
v-if="form().showMe(this, 'WorkOrderItemPartServiceStopDate')"
cols="12"
sm="6"
lg="4"
xl="3"
>
<gz-date-time-picker
:label="$ay.t('WorkOrderItemPartServiceStopDate')"
v-model="
value.items[activeWoItemIndex].parts[activeItemIndex]
.serviceStopDate
"
:readonly="formState.readOnly"
:disabled="isDeleted"
:ref="
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].serviceStopDate`
"
data-cy="serviceStopDate"
:rules="[
form().datePrecedence(
this,
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].serviceStartDate`,
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].serviceStopDate`
)
]"
:error-messages="
form().serverErrors(
this,
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].serviceStopDate`
)
"
@input="
fieldValueChanged(
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].serviceStopDate`
)
"
></gz-date-time-picker>
</v-col>
<v-col
v-if="form().showMe(this, 'WorkOrderItemPartServiceRateQuantity')"
v-if="form().showMe(this, 'WorkOrderItemPartQuantity')"
cols="12"
sm="6"
lg="4"
@@ -156,158 +77,144 @@
>
<gz-decimal
v-model="
value.items[activeWoItemIndex].parts[activeItemIndex]
.serviceRateQuantity
value.items[activeWoItemIndex].parts[activeItemIndex].quantity
"
:readonly="formState.readOnly || isDeleted"
:disabled="isDeleted"
:label="$ay.t('WorkOrderItemPartServiceRateQuantity')"
:label="$ay.t('WorkOrderItemPartQuantity')"
:ref="
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].serviceRateQuantity`
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].quantity`
"
data-cy="partServiceRateQuantity"
data-cy="partQuantity"
:error-messages="
form().serverErrors(
this,
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].serviceRateQuantity`
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].quantity`
)
"
:rules="[
form().decimalValid(
this,
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].serviceRateQuantity`
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].quantity`
),
form().required(
this,
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].serviceRateQuantity`
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].quantity`
)
]"
@input="
fieldValueChanged(`Items[${activeWoItemIndex}].parts[
${activeItemIndex}
].serviceRateQuantity`)
].quantity`)
"
></gz-decimal>
</v-col>
<v-col
v-if="form().showMe(this, 'WorkOrderItemPartServiceRateID')"
v-if="form().showMe(this, 'WorkOrderItemPartPartID')"
cols="12"
sm="6"
lg="4"
xl="3"
>
<gz-pick-list
:aya-type="$ay.ayt().ServiceRate"
:variant="'contractid:' + value.contractId"
:aya-type="$ay.ayt().Part"
:show-edit-icon="true"
v-model="
value.items[activeWoItemIndex].parts[activeItemIndex]
.serviceRateId
value.items[activeWoItemIndex].parts[activeItemIndex].partId
"
:readonly="formState.readOnly || isDeleted"
:disabled="isDeleted"
:label="$ay.t('WorkOrderItemPartServiceRateID')"
:label="$ay.t('WorkOrderItemPartPartID')"
:ref="
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].serviceRateId`
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].partId`
"
data-cy="parts.serviceRateId"
data-cy="parts.partId"
:error-messages="
form().serverErrors(
this,
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].serviceRateId`
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].partId`
)
"
@input="
fieldValueChanged(
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].serviceRateId`
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].partId`
)
"
@update:name="rateChange"
@update:name="partChange"
></gz-pick-list>
</v-col>
<v-col
v-if="form().showMe(this, 'WorkOrderItemPartUserID')"
v-if="form().showMe(this, 'WorkOrderItemPartPartWarehouseID')"
cols="12"
sm="6"
lg="4"
xl="3"
>
<gz-pick-list
:aya-type="$ay.ayt().User"
variant="tech"
:aya-type="$ay.ayt().PartWarehouse"
:show-edit-icon="true"
v-model="
value.items[activeWoItemIndex].parts[activeItemIndex].userId
value.items[activeWoItemIndex].parts[activeItemIndex]
.partWarehouseId
"
:readonly="formState.readOnly || isDeleted"
:disabled="isDeleted"
:label="$ay.t('WorkOrderItemPartUserID')"
:label="$ay.t('WorkOrderItemPartPartWarehouseID')"
:ref="
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].userId`
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].partWarehouseId`
"
data-cy="parts.userid"
data-cy="parts.partWarehouseId"
:error-messages="
form().serverErrors(
this,
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].userId`
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].partWarehouseId`
)
"
@input="
fieldValueChanged(
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].userId`
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].partWarehouseId`
)
"
@update:name="userChange"
@update:name="warehouseChange"
></gz-pick-list>
</v-col>
<v-col
v-if="form().showMe(this, 'WorkOrderItemPartNoChargeQuantity')"
v-if="form().showMe(this, 'WorkOrderItemPartDescription')"
cols="12"
sm="6"
lg="4"
xl="3"
>
<gz-decimal
<v-text-field
v-model="
value.items[activeWoItemIndex].parts[activeItemIndex]
.noChargeQuantity
value.items[activeWoItemIndex].parts[activeItemIndex].description
"
:readonly="formState.readOnly || isDeleted"
:disabled="isDeleted"
:label="$ay.t('WorkOrderItemPartNoChargeQuantity')"
:label="$ay.t('WorkOrderItemPartDescription')"
:ref="
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].noChargeQuantity`
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].description`
"
data-cy="partNoChargeQuantity"
data-cy="partQuantity"
:error-messages="
form().serverErrors(
this,
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].noChargeQuantity`
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].description`
)
"
:rules="[
form().decimalValid(
this,
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].noChargeQuantity`
),
form().required(
this,
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].noChargeQuantity`
)
]"
@input="
fieldValueChanged(`Items[${activeWoItemIndex}].parts[
${activeItemIndex}
].noChargeQuantity`)
].description`)
"
></gz-decimal>
></v-text-field>
</v-col>
<v-col
v-if="form().showMe(this, 'WorkOrderItemPartTaxRateSaleID')"
v-if="form().showMe(this, 'WorkOrderItemPartTaxPartSaleID')"
cols="12"
sm="6"
lg="4"
@@ -318,24 +225,24 @@
:show-edit-icon="true"
v-model="
value.items[activeWoItemIndex].parts[activeItemIndex]
.taxCodeSaleId
.taxPartSaleId
"
:readonly="formState.readOnly || isDeleted"
:disabled="isDeleted"
:label="$ay.t('WorkOrderItemPartTaxRateSaleID')"
:label="$ay.t('WorkOrderItemPartTaxPartSaleID')"
:ref="
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].taxCodeSaleId`
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].taxPartSaleId`
"
data-cy="partTaxCodeSaleId"
:error-messages="
form().serverErrors(
this,
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].taxCodeSaleId`
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].taxPartSaleId`
)
"
@input="
fieldValueChanged(
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].taxCodeSaleId`
`Items[${activeWoItemIndex}].parts[${activeItemIndex}].taxPartSaleId`
)
"
@update:name="taxCodeChange"
@@ -381,41 +288,6 @@
"
></gz-currency>
</v-col>
<v-col
v-if="form().showMe(this, 'WorkOrderItemPartServiceDetails')"
cols="12"
>
<v-textarea
v-model="
value.items[activeWoItemIndex].parts[activeItemIndex]
.serviceDetails
"
:readonly="formState.readOnly"
:disabled="isDeleted"
:label="$ay.t('WorkOrderItemPartServiceDetails')"
:error-messages="
form().serverErrors(
this,
`Items[${activeWoItemIndex}].parts[
${activeItemIndex}
].serviceDetails`
)
"
:ref="
`Items[${activeWoItemIndex}].parts[
${activeItemIndex}
].serviceDetails`
"
data-cy="partserviceDetails"
@input="
fieldValueChanged(`Items[${activeWoItemIndex}].parts[
${activeItemIndex}
].serviceDetails`)
"
auto-grow
></v-textarea>
</v-col>
</template>
</v-row>
</div>
@@ -425,12 +297,12 @@
/* XXXeslint-disable */
////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*
l.Add(new FormField { TKey = "WorkOrderItemPartDescription", FieldKey = "WorkOrderItemPartServiceStartDate", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "WorkOrderItemPartDescription", FieldKey = "WorkOrderItemPartDescription", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "WorkOrderItemPartPartSerialID", FieldKey = "WorkOrderItemPartPartSerialID", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "WorkOrderItemPartPartWarehouseID", FieldKey = "WorkOrderItemPartServiceRateQuantity", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "WorkOrderItemPartQuantity", FieldKey = "WorkOrderItemPartServiceRateID", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "WorkOrderItemPartTaxPartSaleID", FieldKey = "WorkOrderItemPartServiceDetails", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "PartUPC", FieldKey = "PartUPC", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "WorkOrderItemPartPartWarehouseID", FieldKey = "WorkOrderItemPartPartWarehouseID", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "WorkOrderItemPartQuantity", FieldKey = "WorkOrderItemPartQuantity", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "WorkOrderItemPartTaxPartSaleID", FieldKey = "WorkOrderItemPartTaxPartSaleID", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "PartUPC", FieldKey = "PartUPC", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "Cost", FieldKey = "PartCost", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "ListPrice", FieldKey = "PartListPrice", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "Price", FieldKey = "PartPriceViz", TKeySection = "WorkOrderItemParts" });
@@ -440,7 +312,6 @@ l.Add(new FormField { TKey = "NetPrice", FieldKey = "PartNetViz", TKeySection =
l.Add(new FormField { TKey = "TaxAAmt", FieldKey = "PartTaxAViz", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "TaxBAmt", FieldKey = "PartTaxBViz", TKeySection = "WorkOrderItemParts" });
l.Add(new FormField { TKey = "LineTotal", FieldKey = "PartLineTotalViz", TKeySection = "WorkOrderItemParts" });
{
"0": {
"id": 33,
@@ -502,20 +373,20 @@ export default {
}
},
methods: {
userChange(newName) {
warehouseChange(newName) {
this.value.items[this.activeWoItemIndex].parts[
this.activeItemIndex
].userViz = newName;
].partWarehouseViz = newName;
},
rateChange(newName) {
partChange(newName) {
this.value.items[this.activeWoItemIndex].parts[
this.activeItemIndex
].serviceRateViz = newName;
].partViz = newName;
},
taxCodeChange(newName) {
this.value.items[this.activeWoItemIndex].parts[
this.activeItemIndex
].taxCodeSaleViz = newName;
].taxPartSaleViz = newName;
},
newItem() {
let newIndex = this.value.items[this.activeWoItemIndex].parts.length;
@@ -627,9 +498,9 @@ export default {
*/
let headers = [];
if (this.form().showMe(this, "WorkOrderItemPartPartSerialID")) {
if (this.form().showMe(this, "WorkOrderItemPartPartID")) {
headers.push({
text: this.$ay.t("WorkOrderItemPartPartSerialID"),
text: this.$ay.t("WorkOrderItemPartPartID"),
align: "left",
value: "partViz"
});

View File

@@ -57,12 +57,6 @@
:show-select="$vuetify.breakpoint.xs"
single-select
>
<template v-slot:[`item.taxOnTax`]="{ item }">
<v-simple-checkbox
v-model="item.taxOnTax"
disabled
></v-simple-checkbox>
</template>
</v-data-table>
</v-col>
</template>