This commit is contained in:
@@ -745,6 +745,51 @@
|
||||
</v-tabs-items>
|
||||
</v-tabs>
|
||||
</v-form>
|
||||
<v-dialog v-model="emailDialog">
|
||||
<v-card>
|
||||
<v-card-title>
|
||||
{{ $ay.t("WorkOrderItemPartRequestList") }}
|
||||
</v-card-title>
|
||||
<v-card-text>
|
||||
<v-row dense class="mt-2">
|
||||
<v-col cols="12">
|
||||
<v-text-field
|
||||
ref="subject"
|
||||
v-model="subject"
|
||||
dense
|
||||
:label="$ay.t('MemoSubject')"
|
||||
required
|
||||
></v-text-field>
|
||||
</v-col>
|
||||
<v-col cols="12">
|
||||
<v-textarea
|
||||
ref="message"
|
||||
v-model="message"
|
||||
dense
|
||||
:label="$ay.t('MemoMessage')"
|
||||
required
|
||||
auto-grow
|
||||
></v-textarea>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-card-text>
|
||||
<v-card-actions>
|
||||
<v-btn color="blue darken-1" text @click="emailDialog = false">{{
|
||||
$ay.t("Close")
|
||||
}}</v-btn>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn
|
||||
color="blue darken-1"
|
||||
text
|
||||
:disabled="
|
||||
subject == null || message == null || obj.emailAddress == null
|
||||
"
|
||||
@click="sendEmail()"
|
||||
>{{ $ay.t("OK") }}</v-btn
|
||||
>
|
||||
</v-card-actions>
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
</div>
|
||||
<v-overlay :value="!formState.ready || formState.loading">
|
||||
<v-progress-circular indeterminate :size="64" />
|
||||
@@ -819,7 +864,10 @@ export default {
|
||||
availableRoles: [],
|
||||
timeZoneName: window.$gz.locale.getResolvedTimeZoneName(),
|
||||
languageName: window.$gz.locale.getResolvedLanguage(),
|
||||
hour12: window.$gz.locale.getHour12()
|
||||
hour12: window.$gz.locale.getHour12(),
|
||||
emailDialog: false,
|
||||
subject: null,
|
||||
message: null
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
@@ -936,6 +984,37 @@ export default {
|
||||
// });
|
||||
// }
|
||||
// },
|
||||
async sendEmail() {
|
||||
if (
|
||||
this.obj.id == 0 ||
|
||||
this.subject == null ||
|
||||
this.message == null ||
|
||||
window.$gz.util.stringIsNullOrEmpty(this.obj.emailAddress)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
window.$gz.form.deleteAllErrorBoxErrors(this);
|
||||
try {
|
||||
const res = await window.$gz.api.upsert("notify/direct-smtp", {
|
||||
ObjectId: this.obj.id,
|
||||
aType: this.ayaType,
|
||||
toAddress: this.obj.emailAddress,
|
||||
subject: this.subject,
|
||||
textBody: this.message
|
||||
});
|
||||
if (res.error) {
|
||||
this.formState.serverError = res.error;
|
||||
window.$gz.form.setErrorBoxErrors(this);
|
||||
}
|
||||
} catch (error) {
|
||||
window.$gz.form.setFormState({
|
||||
vm: this,
|
||||
loading: false
|
||||
});
|
||||
window.$gz.errorHandler.handleFormError(error, this);
|
||||
}
|
||||
this.emailDialog = false;
|
||||
},
|
||||
canSave: function() {
|
||||
return this.formState.valid && this.formState.dirty;
|
||||
},
|
||||
@@ -1394,6 +1473,9 @@ async function clickHandler(menuItem) {
|
||||
}
|
||||
});
|
||||
break;
|
||||
case "sendemail":
|
||||
m.vm.emailDialog = true;
|
||||
break;
|
||||
//v.next
|
||||
// case "Schedule":
|
||||
// m.vm.$router.push({
|
||||
@@ -1546,6 +1628,19 @@ function generateMenu(vm) {
|
||||
vm: vm
|
||||
});
|
||||
|
||||
if (
|
||||
vm.rights.change &&
|
||||
vm.$route.params.recordid != 0 &&
|
||||
!window.$gz.util.stringIsNullOrEmpty(vm.obj.emailAddress)
|
||||
) {
|
||||
menuOptions.menuItems.push({
|
||||
title: "SendEmail",
|
||||
icon: "$ayiAt",
|
||||
key: FORM_KEY + ":sendemail",
|
||||
vm: vm
|
||||
});
|
||||
}
|
||||
|
||||
menuOptions.menuItems.push({ divider: true, inset: false });
|
||||
window.$gz.eventBus.$emit("menu-change", menuOptions);
|
||||
}
|
||||
@@ -1626,7 +1721,8 @@ async function fetchTranslatedText() {
|
||||
"CustomerNoteList",
|
||||
"CustomerNoteNotes",
|
||||
"CustomerNoteNoteDate",
|
||||
"NewWorkOrder"
|
||||
"NewWorkOrder",
|
||||
"SendEmail"
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user