This commit is contained in:
2021-03-07 16:49:59 +00:00
parent 6a3aa46f50
commit 1ee3243cca

View File

@@ -166,8 +166,6 @@
><v-btn icon @click="addContractPartOverrideItem()">
<v-icon color="primary">$ayiPlus</v-icon>
</v-btn>
<!-- </v-col>
<v-col cols="12" sm="6" lg="4" xl="3"> -->
<v-simple-table>
<template v-slot:default>
<thead>
@@ -220,16 +218,12 @@
</v-simple-table>
</v-col>
<!-- ################################ TAGGED SERVICE RATES TABLE ############################### -->
<!-- ################################ TAGGED SERVICE RATES TABLE ############################### -->
<v-col cols="12" sm="6" lg="4" xl="3">
<span class="text-h6"> {{ $ay.t("ServiceRateList") }}</span
><v-btn icon @click="addContractServiceRateOverrideItem()">
<v-icon color="primary">$ayiPlus</v-icon>
</v-btn>
<!-- </v-col>
<v-col cols="12" sm="6" lg="4" xl="3"> -->
<v-simple-table>
<template v-slot:default>
<thead>
@@ -282,9 +276,64 @@
</v-simple-table>
</v-col>
<!--
tagged travel rate items table here -->
<!-- ################################ TAGGED TRAVEL RATES TABLE ############################### -->
<v-col cols="12" sm="6" lg="4" xl="3">
<span class="text-h6"> {{ $ay.t("TravelRateList") }}</span
><v-btn icon @click="addContractTravelRateOverrideItem()">
<v-icon color="primary">$ayiPlus</v-icon>
</v-btn>
<v-simple-table>
<template v-slot:default>
<thead>
<tr>
<th class="text-right">
{{ $ay.t("ContractAdjustment") }}
</th>
<th class="text-left">
{{ $ay.t("ContractOverrideType") }}
</th>
<th class="text-left">
{{ $ay.t("Tags") }}
</th>
<th class="text-right">
<!-- CONTROL PANEL -->
</th>
</tr>
</thead>
<tbody>
<tr
v-for="item in obj.contractTravelRateOverrideItems"
:key="item.Id"
>
<td class="text-right">{{ item.overridePct }}%</td>
<td class="text-left">
{{
selectLists.overrideTypes.find(
z => z.id == item.overrideType
).name
}}
</td>
<td class="text-left">
{{ $ay.util().formatTags(item.tags) }}
</td>
<td class="text-right">
<v-btn
icon
@click="editContractTravelRateOverrideItem(item)"
class="ml-4"
>
<v-icon>
$ayiEdit
</v-icon>
</v-btn>
</td>
</tr>
</tbody>
</template>
</v-simple-table>
</v-col>
<!-- ################################ CONTRACT RATES ############################### -->
<v-col cols="12" class="mt-5">
<span class="text-h5"> {{ $ay.t("ContractRateList") }}</span>
</v-col>
@@ -379,9 +428,9 @@
:size="60"
></v-progress-circular>
</template>
<!-- #########################################################################################-->
<!-- ########################## CONTRACTPARTOVERRIDE ITEM EDIT FORM ###############################-->
<!-- #########################################################################################-->
<!-- #################################################################################################-->
<!-- ########################## CONTRACT PART OVERRIDE ITEM EDIT FORM ###############################-->
<!-- #################################################################################################-->
<template v-if="obj.contractPartOverrideItems.length">
<v-row justify="center">
<v-dialog v-model="editContractPartOverrideItemDialog">
@@ -564,6 +613,384 @@
</v-dialog>
</v-row>
</template>
<!-- #########################################################################################################-->
<!-- ########################## CONTRACT SERVICE RATE OVERRIDE ITEM EDIT FORM ###############################-->
<!-- #########################################################################################################-->
<template v-if="obj.contractServiceRateOverrideItems.length">
<v-row justify="center">
<v-dialog v-model="editContractServiceRateOverrideItemDialog">
<v-card>
<v-card-title> </v-card-title>
<v-card-text>
<v-row>
<v-col cols="12" sm="6" lg="4" xl="3">
<gz-percent
v-model="
obj.contractServiceRateOverrideItems[
editContractServiceRateOverrideItemIndex
].overridePct
"
:readonly="formState.readOnly"
:label="$ay.t('ContractAdjustment')"
ref="ContractServiceRateOverrideItems.OverridePct"
data-cy="ContractServiceRateOverrideItems.OverridePct"
:rules="[
form().decimalValid(
this,
'ContractServiceRateOverrideItems.OverridePct'
),
form().required(
this,
'ContractServiceRateOverrideItems.OverridePct'
)
]"
:error-messages="
form().serverErrors(
this,
`ContractServiceRateOverrideItems[${editContractServiceRateOverrideItemIndex}].OverridePct`
)
"
@input="
fieldValueChanged(
`ContractServiceRateOverrideItems[${editContractServiceRateOverrideItemIndex}].OverridePct`
)
"
></gz-percent>
</v-col>
<v-col cols="12" sm="6" lg="4" xl="3">
<v-select
v-model="
obj.contractServiceRateOverrideItems[
editContractServiceRateOverrideItemIndex
].overrideType
"
:items="selectLists.overrideTypes"
item-text="name"
item-value="id"
:readonly="formState.readOnly"
:label="$ay.t('ContractOverrideType')"
ref="ContractServiceRateOverrideItems.OverrideType"
data-cy="ContractServiceRateOverrideItems.OverrideType"
:rules="[
form().integerValid(
this,
'ContractServiceRateOverrideItems.OverrideType'
)
]"
:error-messages="
form().serverErrors(
this,
`ContractServiceRateOverrideItems[${editContractServiceRateOverrideItemIndex}].OverrideType`
)
"
@input="
fieldValueChanged(
`ContractServiceRateOverrideItems[${editContractServiceRateOverrideItemIndex}].OverrideType`
)
"
></v-select>
</v-col>
<v-col cols="12" sm="6" lg="4" xl="3">
<gz-tag-picker
v-model="
obj.contractServiceRateOverrideItems[
editContractServiceRateOverrideItemIndex
].tags
"
:readonly="formState.readOnly"
ref="ContractServiceRateOverrideItems.Tags"
data-cy="ContractServiceRateOverrideItems.Tags"
:rules="[
form().required(
this,
'ContractServiceRateOverrideItems.Tags'
)
]"
:error-messages="
form().serverErrors(
this,
`ContractServiceRateOverrideItems[${editContractServiceRateOverrideItemIndex}].Tags`
)
"
@input="
fieldValueChanged(
`ContractServiceRateOverrideItems[${editContractServiceRateOverrideItemIndex}].Tags`
)
"
></gz-tag-picker>
</v-col>
</v-row>
</v-card-text>
<v-card-actions>
<template v-if="!$vuetify.breakpoint.xs">
<v-btn
color="red darken-1"
text
@click="
deleteContractServiceRateOverrideItem(
obj.contractServiceRateOverrideItems[
editContractServiceRateOverrideItemIndex
]
)
"
>{{ $ay.t("Delete") }}</v-btn
>
<v-spacer></v-spacer>
<v-btn
color="blue darken-1"
text
@click="editPoItemDialog = false"
>{{ $ay.t("Close") }}</v-btn
>
<v-btn
color="blue darken-1"
text
@click="addContractServiceRateOverrideItem()"
class="ml-4"
>{{ $ay.t("New") }}</v-btn
>
<v-btn
color="blue darken-1"
text
@click="editContractServiceRateOverrideItemDialog = false"
class="ml-4"
>{{ $ay.t("OK") }}</v-btn
>
</template>
<template v-else>
<!-- MOBILE FORMAT -->
<v-row>
<v-btn
class="mt-4"
block
text
color="blue darken-1"
@click="editContractServiceRateOverrideItemDialog = false"
>{{ $ay.t("OK") }}</v-btn
>
<v-btn
class="mt-4"
block
text
color="blue darken-1"
@click="addContractServiceRateOverrideItem()"
>{{ $ay.t("New") }}</v-btn
>
<v-btn
class="mt-8 mb-6"
block
text
color="red darken-1"
@click="
deleteContractServiceRateOverrideItem(
obj.contractServiceRateOverrideItems[
editContractServiceRateOverrideItemIndex
]
)
"
>{{ $ay.t("Delete") }}</v-btn
>
</v-row>
</template>
</v-card-actions>
</v-card>
</v-dialog>
</v-row>
</template>
<!-- ########################################################################################################-->
<!-- ########################## CONTRACT TRAVEL RATE OVERRIDE ITEM EDIT FORM ###############################-->
<!-- ########################################################################################################-->
<template v-if="obj.contractTravelRateOverrideItems.length">
<v-row justify="center">
<v-dialog v-model="editContractTravelRateOverrideItemDialog">
<v-card>
<v-card-title> </v-card-title>
<v-card-text>
<v-row>
<v-col cols="12" sm="6" lg="4" xl="3">
<gz-percent
v-model="
obj.contractTravelRateOverrideItems[
editContractTravelRateOverrideItemIndex
].overridePct
"
:readonly="formState.readOnly"
:label="$ay.t('ContractAdjustment')"
ref="ContractTravelRateOverrideItems.OverridePct"
data-cy="ContractTravelRateOverrideItems.OverridePct"
:rules="[
form().decimalValid(
this,
'ContractTravelRateOverrideItems.OverridePct'
),
form().required(
this,
'ContractTravelRateOverrideItems.OverridePct'
)
]"
:error-messages="
form().serverErrors(
this,
`ContractTravelRateOverrideItems[${editContractTravelRateOverrideItemIndex}].OverridePct`
)
"
@input="
fieldValueChanged(
`ContractTravelRateOverrideItems[${editContractTravelRateOverrideItemIndex}].OverridePct`
)
"
></gz-percent>
</v-col>
<v-col cols="12" sm="6" lg="4" xl="3">
<v-select
v-model="
obj.contractTravelRateOverrideItems[
editContractTravelRateOverrideItemIndex
].overrideType
"
:items="selectLists.overrideTypes"
item-text="name"
item-value="id"
:readonly="formState.readOnly"
:label="$ay.t('ContractOverrideType')"
ref="ContractTravelRateOverrideItems.OverrideType"
data-cy="ContractTravelRateOverrideItems.OverrideType"
:rules="[
form().integerValid(
this,
'ContractTravelRateOverrideItems.OverrideType'
)
]"
:error-messages="
form().serverErrors(
this,
`ContractTravelRateOverrideItems[${editContractTravelRateOverrideItemIndex}].OverrideType`
)
"
@input="
fieldValueChanged(
`ContractTravelRateOverrideItems[${editContractTravelRateOverrideItemIndex}].OverrideType`
)
"
></v-select>
</v-col>
<v-col cols="12" sm="6" lg="4" xl="3">
<gz-tag-picker
v-model="
obj.contractTravelRateOverrideItems[
editContractTravelRateOverrideItemIndex
].tags
"
:readonly="formState.readOnly"
ref="ContractTravelRateOverrideItems.Tags"
data-cy="ContractTravelRateOverrideItems.Tags"
:rules="[
form().required(
this,
'ContractTravelRateOverrideItems.Tags'
)
]"
:error-messages="
form().serverErrors(
this,
`ContractTravelRateOverrideItems[${editContractTravelRateOverrideItemIndex}].Tags`
)
"
@input="
fieldValueChanged(
`ContractTravelRateOverrideItems[${editContractTravelRateOverrideItemIndex}].Tags`
)
"
></gz-tag-picker>
</v-col>
</v-row>
</v-card-text>
<v-card-actions>
<template v-if="!$vuetify.breakpoint.xs">
<v-btn
color="red darken-1"
text
@click="
deleteContractTravelRateOverrideItem(
obj.contractTravelRateOverrideItems[
editContractTravelRateOverrideItemIndex
]
)
"
>{{ $ay.t("Delete") }}</v-btn
>
<v-spacer></v-spacer>
<v-btn
color="blue darken-1"
text
@click="editPoItemDialog = false"
>{{ $ay.t("Close") }}</v-btn
>
<v-btn
color="blue darken-1"
text
@click="addContractTravelRateOverrideItem()"
class="ml-4"
>{{ $ay.t("New") }}</v-btn
>
<v-btn
color="blue darken-1"
text
@click="editContractTravelRateOverrideItemDialog = false"
class="ml-4"
>{{ $ay.t("OK") }}</v-btn
>
</template>
<template v-else>
<!-- MOBILE FORMAT -->
<v-row>
<v-btn
class="mt-4"
block
text
color="blue darken-1"
@click="editContractTravelRateOverrideItemDialog = false"
>{{ $ay.t("OK") }}</v-btn
>
<v-btn
class="mt-4"
block
text
color="blue darken-1"
@click="addContractTravelRateOverrideItem()"
>{{ $ay.t("New") }}</v-btn
>
<v-btn
class="mt-8 mb-6"
block
text
color="red darken-1"
@click="
deleteContractTravelRateOverrideItem(
obj.contractTravelRateOverrideItems[
editContractTravelRateOverrideItemIndex
]
)
"
>{{ $ay.t("Delete") }}</v-btn
>
</v-row>
</template>
</v-card-actions>
</v-card>
</v-dialog>
</v-row>
</template>
</div>
</template>
@@ -682,7 +1109,11 @@ export default {
overrideTypes: []
},
editContractPartOverrideItemDialog: false,
editContractPartOverrideItemIndex: 0
editContractPartOverrideItemIndex: 0,
editContractServiceRateOverrideItemDialog: false,
editContractServiceRateOverrideItemIndex: 0,
editContractTravelRateOverrideItemDialog: false,
editContractTravelRateOverrideItemIndex: 0
};
},
//WATCHERS
@@ -751,6 +1182,71 @@ export default {
this.editContractPartOverrideItemIndex = 0;
this.formState.dirty = true;
},
editContractServiceRateOverrideItem: function(item) {
this.editContractServiceRateOverrideItemIndex = this.obj.contractServiceRateOverrideItems.findIndex(
z => z.id == item.id
);
if (this.editContractServiceRateOverrideItemIndex != -1) {
this.editContractServiceRateOverrideItemDialog = true;
}
},
addContractServiceRateOverrideItem: function() {
this.obj.contractServiceRateOverrideItems.push({
id: 0,
contractId: 0,
overridePct: 0,
overrideType: 1,
tags: []
});
this.editContractServiceRateOverrideItemIndex =
this.obj.contractServiceRateOverrideItems.length - 1;
this.editContractServiceRateOverrideItemDialog = true;
this.formState.dirty = true;
},
deleteContractServiceRateOverrideItem: function() {
this.editContractServiceRateOverrideItemDialog = false;
this.obj.contractServiceRateOverrideItems.splice(
this.editContractServiceRateOverrideItemIndex,
1
);
this.editContractServiceRateOverrideItemIndex = 0;
this.formState.dirty = true;
},
editContractTravelRateOverrideItem: function(item) {
this.editContractTravelRateOverrideItemIndex = this.obj.contractTravelRateOverrideItems.findIndex(
z => z.id == item.id
);
if (this.editContractTravelRateOverrideItemIndex != -1) {
this.editContractTravelRateOverrideItemDialog = true;
}
},
addContractTravelRateOverrideItem: function() {
this.obj.contractTravelRateOverrideItems.push({
id: 0,
contractId: 0,
overridePct: 0,
overrideType: 1,
tags: []
});
this.editContractTravelRateOverrideItemIndex =
this.obj.contractTravelRateOverrideItems.length - 1;
this.editContractTravelRateOverrideItemDialog = true;
this.formState.dirty = true;
},
deleteContractTravelRateOverrideItem: function() {
this.editContractTravelRateOverrideItemDialog = false;
this.obj.contractTravelRateOverrideItems.splice(
this.editContractTravelRateOverrideItemIndex,
1
);
this.editContractTravelRateOverrideItemIndex = 0;
this.formState.dirty = true;
},
canSave: function() {
return this.formState.valid && this.formState.dirty;
},