This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
<v-row>
|
||||
<template v-if="!readonly">
|
||||
<v-col cols="12">
|
||||
<v-dialog v-model="dlgdate" width="290px">
|
||||
<v-dialog v-model="dlgdate" width="300px">
|
||||
<template v-slot:activator="{ on }">
|
||||
<v-text-field
|
||||
v-on="on"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<v-row>
|
||||
<template v-if="!readonly">
|
||||
<v-col xs6>
|
||||
<v-dialog v-model="dlgdate" width="290px">
|
||||
<v-dialog v-model="dlgdate" width="300px">
|
||||
<template v-slot:activator="{ on }">
|
||||
<v-text-field
|
||||
v-on="on"
|
||||
|
||||
@@ -5,6 +5,45 @@
|
||||
<gz-error :errorBoxMessage="formState.errorBoxMessage"></gz-error>
|
||||
<v-form ref="form">
|
||||
<v-row>
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<gz-pick-list
|
||||
:ayaType="ayaTypes().Customer"
|
||||
:showEditIcon="true"
|
||||
:includeInactive="true"
|
||||
v-model="obj.customerId"
|
||||
:readonly="true"
|
||||
:label="$ay.t('Customer')"
|
||||
ref="customerId"
|
||||
data-cy="customerId"
|
||||
></gz-pick-list>
|
||||
</v-col>
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<!-- {{ priorityColor() }} -->
|
||||
<v-select
|
||||
color="purple"
|
||||
v-model="obj.priority"
|
||||
:items="selectLists.priorities"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:readonly="true"
|
||||
:label="$ay.t('CustomerServiceRequestPriority')"
|
||||
ref="priority"
|
||||
data-cy="priority"
|
||||
></v-select>
|
||||
</v-col>
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<v-select
|
||||
v-model="obj.status"
|
||||
:items="selectLists.status"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:readonly="true"
|
||||
:label="$ay.t('CustomerServiceRequestStatus')"
|
||||
ref="status"
|
||||
data-cy="status"
|
||||
></v-select>
|
||||
</v-col>
|
||||
<!-- ---------------------------------- -->
|
||||
<v-col cols="12" sm="6" lg="4" xl="3">
|
||||
<v-text-field
|
||||
v-model="obj.name"
|
||||
@@ -146,6 +185,39 @@
|
||||
></v-col>
|
||||
</v-row>
|
||||
</v-form>
|
||||
<v-row justify="center">
|
||||
<v-dialog v-model="woSelectorDialog" persistent max-width="300px">
|
||||
<v-card>
|
||||
<v-card-title>
|
||||
<span class="headline">{{
|
||||
$ay.t("CustomerServiceRequestAcceptToExisting")
|
||||
}}</span>
|
||||
</v-card-title>
|
||||
<v-card-text>
|
||||
<!-- //MIGRATE_OUTSTANDING awaiting workorder pick list, also this should be json variant data -->
|
||||
<gz-pick-list
|
||||
:ayaType="ayaTypes().WorkOrder"
|
||||
:variant="'customerid:' + obj.customerId"
|
||||
:showEditIcon="false"
|
||||
v-model="selectedWOId"
|
||||
:label="$ay.t('WorkOrder')"
|
||||
></gz-pick-list>
|
||||
</v-card-text>
|
||||
<v-card-actions>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn
|
||||
color="blue darken-1"
|
||||
text
|
||||
@click="woSelectorDialog = false"
|
||||
>{{ $ay.t("Cancel") }}</v-btn
|
||||
>
|
||||
<v-btn color="blue darken-1" text @click="accept(selectedWOId)">{{
|
||||
$ay.t("OK")
|
||||
}}</v-btn>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
</v-row>
|
||||
</div>
|
||||
<template v-if="!formState.ready">
|
||||
<v-progress-circular
|
||||
@@ -177,7 +249,7 @@ export default {
|
||||
vm.rights = window.$gz.role.getRights(
|
||||
window.$gz.type.CustomerServiceRequest
|
||||
);
|
||||
vm.formState.readOnly = !vm.rights.change;
|
||||
vm.formState.readOnly = !vm.rights.change || vm.obj.status != 0;
|
||||
window.$gz.eventBus.$on("menu-click", clickHandler);
|
||||
|
||||
//id 0 means create a new record don't load one
|
||||
@@ -229,6 +301,12 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
formCustomTemplateKey: FORM_CUSTOM_TEMPLATE_KEY,
|
||||
selectedWOId: 0,
|
||||
woSelectorDialog: false,
|
||||
selectLists: {
|
||||
status: [],
|
||||
priorities: []
|
||||
},
|
||||
obj:
|
||||
//IMPORTANT NOTE: Fields that are NON NULLABLE in the schema for the table but *are* hideable **MUST** have a default value set here or else there will be no way to save the record
|
||||
//I.E. Serial, usertype fields, ACTIVE
|
||||
@@ -322,6 +400,16 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
priorityColor: function() {
|
||||
switch (this.obj.priority) {
|
||||
case 1: //asap
|
||||
return "warning";
|
||||
case 2: //emergency
|
||||
return "error";
|
||||
default:
|
||||
return "info";
|
||||
}
|
||||
},
|
||||
canSave: function() {
|
||||
return this.formState.valid && this.formState.dirty;
|
||||
},
|
||||
@@ -558,7 +646,8 @@ export default {
|
||||
});
|
||||
}
|
||||
},
|
||||
async accept(toExisting) {
|
||||
async accept(toExistingId) {
|
||||
console.log("ACCEPT TO WOID: ", toExistingId);
|
||||
let vm = this;
|
||||
if (vm.obj.status != 0 || vm.$route.params.recordid == 0) {
|
||||
return;
|
||||
@@ -568,10 +657,7 @@ export default {
|
||||
loading: true
|
||||
});
|
||||
|
||||
//get workorder if to existing
|
||||
|
||||
|
||||
|
||||
//get workorder if to existing
|
||||
|
||||
let url = API_BASE_URL + "accept/" + vm.$route.params.recordid;
|
||||
|
||||
@@ -633,10 +719,10 @@ async function clickHandler(menuItem) {
|
||||
m.vm.reject();
|
||||
break;
|
||||
case "acceptexisting":
|
||||
m.vm.accept(true);
|
||||
m.vm.woSelectorDialog = true;
|
||||
break;
|
||||
case "acceptnew":
|
||||
m.vm.accept(false);
|
||||
m.vm.accept();
|
||||
break;
|
||||
case "report":
|
||||
if (m.id != null) {
|
||||
@@ -690,7 +776,7 @@ async function clickHandler(menuItem) {
|
||||
function generateMenu(vm) {
|
||||
let menuOptions = {
|
||||
isMain: false,
|
||||
readOnly: vm.formState.readOnly,
|
||||
readOnly: vm.formState.readOnly || vm.obj.status != 0,
|
||||
icon: "$ayiConciergeBell",
|
||||
title: "CustomerServiceRequest",
|
||||
helpUrl: "form-svc-csr",
|
||||
@@ -799,6 +885,7 @@ let JUST_DELETED = false;
|
||||
async function initForm(vm) {
|
||||
await fetchTranslatedText(vm);
|
||||
await window.$gz.formCustomTemplate.get(FORM_CUSTOM_TEMPLATE_KEY);
|
||||
await populateSelectionLists(vm);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////
|
||||
@@ -839,4 +926,20 @@ async function fetchTranslatedText(vm) {
|
||||
"CustomerServiceRequestCustom16"
|
||||
]);
|
||||
}
|
||||
|
||||
//////////////////////
|
||||
//
|
||||
//
|
||||
async function populateSelectionLists(vm) {
|
||||
//ensure the pick lists required are pre-fetched
|
||||
await window.$gz.enums.fetchEnumList("CustomerServiceRequestStatus");
|
||||
vm.selectLists.status = window.$gz.enums.getSelectionList(
|
||||
"CustomerServiceRequestStatus"
|
||||
);
|
||||
|
||||
await window.$gz.enums.fetchEnumList("CustomerServiceRequestPriority");
|
||||
vm.selectLists.priorities = window.$gz.enums.getSelectionList(
|
||||
"CustomerServiceRequestPriority"
|
||||
);
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user