case 4764 - open a case by its number from the case list
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,44 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
|
<!-- case 4764: open a case by its number, as AyaNova's work order list (Sockeye only, so plain English) -->
|
||||||
|
<v-row dense justify="center">
|
||||||
|
<v-dialog
|
||||||
|
v-model="openDialog"
|
||||||
|
persistent
|
||||||
|
max-width="600px"
|
||||||
|
@keydown.esc="openDialog = false"
|
||||||
|
@keydown.enter="openCase()"
|
||||||
|
>
|
||||||
|
<v-card>
|
||||||
|
<v-card-title>
|
||||||
|
<span class="text-h5">Open case</span>
|
||||||
|
</v-card-title>
|
||||||
|
<v-card-text>
|
||||||
|
<v-text-field
|
||||||
|
v-model="openCaseNumber"
|
||||||
|
label="Case number"
|
||||||
|
autofocus
|
||||||
|
required
|
||||||
|
type="number"
|
||||||
|
data-cy="openCaseNumber"
|
||||||
|
></v-text-field>
|
||||||
|
</v-card-text>
|
||||||
|
<v-card-actions>
|
||||||
|
<v-spacer></v-spacer>
|
||||||
|
<v-btn color="blue darken-1" text @click="openDialog = false">{{
|
||||||
|
$sock.t("Cancel")
|
||||||
|
}}</v-btn>
|
||||||
|
<v-btn
|
||||||
|
color="blue darken-1"
|
||||||
|
text
|
||||||
|
:disabled="!openCaseNumber"
|
||||||
|
@click="openCase()"
|
||||||
|
>{{ $sock.t("OK") }}</v-btn
|
||||||
|
>
|
||||||
|
</v-card-actions>
|
||||||
|
</v-card>
|
||||||
|
</v-dialog>
|
||||||
|
</v-row>
|
||||||
<gz-report-selector ref="reportSelector"></gz-report-selector>
|
<gz-report-selector ref="reportSelector"></gz-report-selector>
|
||||||
<gz-extensions
|
<gz-extensions
|
||||||
ref="extensions"
|
ref="extensions"
|
||||||
@@ -36,7 +75,9 @@ export default {
|
|||||||
preFilterMode: null,
|
preFilterMode: null,
|
||||||
objectId: null,
|
objectId: null,
|
||||||
aForType: null,
|
aForType: null,
|
||||||
name: null
|
name: null,
|
||||||
|
openDialog: false,
|
||||||
|
openCaseNumber: null
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
@@ -72,6 +113,27 @@ export default {
|
|||||||
handleSelected(selected) {
|
handleSelected(selected) {
|
||||||
this.selectedItems = selected;
|
this.selectedItems = selected;
|
||||||
},
|
},
|
||||||
|
async openCase() {
|
||||||
|
//case 4764
|
||||||
|
if (!this.openCaseNumber) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const res = await window.$gz.api.get(
|
||||||
|
"gzcase/id-from-number/" + this.openCaseNumber
|
||||||
|
);
|
||||||
|
if (res.error) {
|
||||||
|
window.$gz.eventBus.$emit(
|
||||||
|
"notify-warning",
|
||||||
|
`Case ${this.openCaseNumber} was not found`
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.openDialog = false;
|
||||||
|
this.$router.push({
|
||||||
|
name: "gzcase-edit",
|
||||||
|
params: { recordid: res.data }
|
||||||
|
});
|
||||||
|
},
|
||||||
clearPreFilter() {
|
clearPreFilter() {
|
||||||
this.clientCriteria = null;
|
this.clientCriteria = null;
|
||||||
this.preFilterMode = null;
|
this.preFilterMode = null;
|
||||||
@@ -96,6 +158,10 @@ async function clickHandler(menuItem) {
|
|||||||
params: { recordid: 0 }
|
params: { recordid: 0 }
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
case "open":
|
||||||
|
m.vm.openCaseNumber = null;
|
||||||
|
m.vm.openDialog = true;
|
||||||
|
break;
|
||||||
case "extensions":
|
case "extensions":
|
||||||
{
|
{
|
||||||
const res = await m.vm.$refs.extensions.open(
|
const res = await m.vm.$refs.extensions.open(
|
||||||
@@ -175,6 +241,14 @@ function generateMenu(vm) {
|
|||||||
key: FORM_KEY + ":extensions",
|
key: FORM_KEY + ":extensions",
|
||||||
vm: vm
|
vm: vm
|
||||||
});
|
});
|
||||||
|
//case 4764
|
||||||
|
menuOptions.menuItems.push({
|
||||||
|
title: "Open case",
|
||||||
|
notrans: true,
|
||||||
|
icon: "$sockiCoffee",
|
||||||
|
key: FORM_KEY + ":open",
|
||||||
|
vm: vm
|
||||||
|
});
|
||||||
window.$gz.eventBus.$emit("menu-change", menuOptions);
|
window.$gz.eventBus.$emit("menu-change", menuOptions);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user