Package and individual mail sender, new report, and other changes
Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
@@ -30,6 +30,7 @@ import PersonInfoPhonesTab from "./PersonInfoPhonesTab.vue";
|
||||
import PersonInfoEmailsTab from "./PersonInfoEmailsTab.vue";
|
||||
import PersonInfoTrrTab from "./PersonInfoTrrTab.vue";
|
||||
import PersonInfoSmsDialog from "./PersonInfoSmsDialog.vue";
|
||||
import PersonInfoEmailDialog from "./PersonInfoEmailDialog.vue";
|
||||
import { Badge } from "@/Components/ui/badge";
|
||||
|
||||
const props = defineProps({
|
||||
@@ -58,6 +59,9 @@ const props = defineProps({
|
||||
smsProfiles: { type: Array, default: () => [] },
|
||||
smsSenders: { type: Array, default: () => [] },
|
||||
smsTemplates: { type: Array, default: () => [] },
|
||||
enableEmail: { type: Boolean, default: false },
|
||||
emailTemplates: { type: Array, default: () => [] },
|
||||
mailProfiles: { type: Array, default: () => [] },
|
||||
});
|
||||
|
||||
// Dialog states
|
||||
@@ -91,6 +95,10 @@ const confirm = ref({
|
||||
const showSmsDialog = ref(false);
|
||||
const smsTargetPhone = ref(null);
|
||||
|
||||
// Email dialog state
|
||||
const showEmailDialog = ref(false);
|
||||
const emailTarget = ref(null);
|
||||
|
||||
// Person handlers
|
||||
const openDrawerUpdateClient = () => {
|
||||
drawerUpdatePerson.value = true;
|
||||
@@ -251,6 +259,18 @@ const closeSmsDialog = () => {
|
||||
smsTargetPhone.value = null;
|
||||
};
|
||||
|
||||
// Email dialog handlers
|
||||
const openEmailDialog = (email) => {
|
||||
if (!props.enableEmail || !props.clientCaseUuid) return;
|
||||
emailTarget.value = email;
|
||||
showEmailDialog.value = true;
|
||||
};
|
||||
|
||||
const closeEmailDialog = () => {
|
||||
showEmailDialog.value = false;
|
||||
emailTarget.value = null;
|
||||
};
|
||||
|
||||
// Tab event handlers
|
||||
const handlePersonEdit = () => openDrawerUpdateClient();
|
||||
|
||||
@@ -266,6 +286,7 @@ const handlePhoneSms = (phone) => openSmsDialog(phone);
|
||||
const handleEmailAdd = () => openDrawerAddEmail(false, 0);
|
||||
const handleEmailEdit = (id) => openDrawerAddEmail(true, id);
|
||||
const handleEmailDelete = (id, label) => openConfirm("email", id, label);
|
||||
const handleEmailSend = (email) => openEmailDialog(email);
|
||||
|
||||
const handleTrrAdd = () => openDrawerAddTrr(false, 0);
|
||||
const handleTrrEdit = (id) => openDrawerAddTrr(true, id);
|
||||
@@ -418,9 +439,11 @@ const switchToTab = (tab) => {
|
||||
<PersonInfoEmailsTab
|
||||
:person="person"
|
||||
:edit="edit"
|
||||
:enable-email="enableEmail && !!clientCaseUuid"
|
||||
@add="handleEmailAdd"
|
||||
@edit="handleEmailEdit"
|
||||
@delete="handleEmailDelete"
|
||||
@email="handleEmailSend"
|
||||
/>
|
||||
</TabsContent>
|
||||
|
||||
@@ -534,4 +557,15 @@ const switchToTab = (tab) => {
|
||||
:sms-templates="smsTemplates"
|
||||
@close="closeSmsDialog"
|
||||
/>
|
||||
|
||||
<!-- Email Dialog -->
|
||||
<PersonInfoEmailDialog
|
||||
v-if="clientCaseUuid"
|
||||
:show="showEmailDialog"
|
||||
:email="emailTarget"
|
||||
:client-case-uuid="clientCaseUuid"
|
||||
:email-templates="emailTemplates"
|
||||
:mail-profiles="mailProfiles"
|
||||
@close="closeEmailDialog"
|
||||
/>
|
||||
</template>
|
||||
|
||||
Reference in New Issue
Block a user