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 ORDER: parts, part requests, loans, units, outside service
todo: test all Override column header visibility, still funky after fix earlier I bet 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 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 dispatch is a subset of a service manager job
Rename at both ends and all translations and docs as well. Rename at both ends and all translations and docs as well.

View File

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

View File

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

View File

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