Merge branch 'master' of ssh://47.101.48.251:/data/git/visitor

master
lion 6 months ago
commit e4783b6177

@ -67,13 +67,18 @@ class VisitController extends CommonController
$messages = [
'name.required' => '名称必填',
'visit_area_id.required' => '区域id必填',
'accept_admin_id.required' => '接待人必填'
'accept_admin_id.required' => '接待人必填',
'accompany_id.required' => '陪同人必填',
'date.required' => '到访日期必填',
'mobile.required' => '电话必填',
];
$validator = Validator::make($all, [
'name' => 'required',
'visit_area_id' => 'required',
'accept_admin_id' => 'required',
'accompany_id' => 'required'
'accompany_id' => 'required',
'date' => 'required',
'mobile' => 'required',
], $messages);
if ($validator->fails()) {
return $this->fail([ResponseCode::ERROR_PARAMETER, implode('', $validator->errors()->all())]);
@ -136,6 +141,12 @@ class VisitController extends CommonController
}
VisitLog::add('', $this->getUser(), $model->id, isset($all['id']) ? '更新拜访记录' : '新增拜访记录');
DB::commit();
// 短信通知被访人
$vars = ['date' => $all['date'], 'name' => $all['name']];
$template_id = 'Sjwgv1';
// 被访人信息
$acceptAdmin = Admin::find($all['accept_admin_id']);
sms($acceptAdmin->mobile, $vars, $template_id);
// 邮件通知第一个审核人
VisitAudit::emailNextAudit($model, -1);
}

@ -50,21 +50,29 @@ class AuditEmailNotify extends Notification
if ($this->isFirstAudit) {
// 第一个审核人的邮件
return (new MailMessage)
->from(config('mail.from.address'), 'Getinge Suzhou HR')
->subject('新的拜访审核通知 - ' . $visitData['name'])
->greeting('您好 ' . $notifiable->name . '')
->line('您有一个新的拜访申请需要审核,访客 ' . $visitData['name'] . ' 预约于 ' . $visitData['date'] . ' 到访。')
->line('访客联系电话:' . $visitData['mobile'])
->line('拜访事由:' . ($visitData['reason'] ?? '无'))
->line('请及时审核此拜访申请。');
->line('请及时审核此拜访申请。')
->salutation('')
->line('Regards')
->line('Getinge Suzhou HR');
} else {
// 后续审核人的邮件
return (new MailMessage)
->from(config('mail.from.address'), 'Getinge Suzhou HR')
->subject('拜访审核流转通知 - ' . $visitData['name'])
->greeting('您好 ' . $notifiable->name . '')
->line('拜访申请 ' . $visitData['name'] . ' 预约于 ' . $visitData['date'] . ' 的审核已流转到您这里,上一级审核人:' . ($visitData['previous_admin'] ?? '') . '。')
->line('访客联系电话:' . $visitData['mobile'])
->line('拜访事由:' . ($visitData['reason'] ?? '无'))
->line('请及时处理此审核流转。');
->line('请及时处理此审核流转。')
->salutation('')
->line('Regards')
->line('Getinge Suzhou HR');
}
}
}

@ -51,22 +51,30 @@ class AuditResultEmailNotify extends Notification
if ($auditResult === '通过') {
// 审核通过的邮件
return (new MailMessage)
->from(config('mail.from.address'), 'Getinge Suzhou HR')
->subject('拜访申请审核通过通知 - ' . $visitData['name'])
->greeting('您好 ' . $visitData['visitor_name'] . '')
->line('您的拜访申请已审核通过,预约于 ' . $visitData['date'] . ' 到访。')
->line('被访人:' . $visitData['accept_admin_name'])
->line('公司名称:' . $visitData['company_name'])
->line('请按时到访,如有疑问请联系被访人。');
->line('请按时到访,如有疑问请联系被访人。')
->salutation('')
->line('Regards')
->line('Getinge Suzhou HR');
} else {
// 审核驳回的邮件
return (new MailMessage)
->from(config('mail.from.address'), 'Getinge Suzhou HR')
->subject('拜访申请审核驳回通知 - ' . $visitData['name'])
->greeting('您好 ' . $visitData['visitor_name'] . '')
->line('很抱歉,您的拜访申请未通过审核。')
->line('预约日期:' . $visitData['date'])
->line('被访人:' . $visitData['accept_admin_name'])
->line('公司名称:' . $visitData['company_name'])
->line('如有疑问,请联系被访人或重新提交申请。');
->line('如有疑问,请联系被访人或重新提交申请。')
->salutation('')
->line('Regards')
->line('Getinge Suzhou HR');
}
}
}

@ -45,12 +45,16 @@ class CancelEmailNotify extends Notification
$visitData = $this->visitData;
return (new MailMessage)
->from(config('mail.from.address'), 'Getinge Suzhou HR')
->subject('拜访预约取消通知 - ' . $visitData['name'])
->greeting('您好 ' . $notifiable->name . '')
->line('访客 ' . $visitData['name'] . ' 原预约于 ' . $visitData['date'] . ' 的拜访已取消。')
->line('访客联系电话:' . $visitData['mobile'])
->line('拜访事由:' . ($visitData['reason'] ?? '无'))
->line('如有疑问,请联系访客确认。');
->line('如有疑问,请联系访客确认。')
->salutation('')
->line('Regards')
->line('Getinge Suzhou HR');
}
}

@ -44,8 +44,12 @@ class EmailNotify extends Notification
public function toMail($notifiable)
{
return (new MailMessage)
->from(config('mail.from.address'), 'Getinge Suzhou HR')
->subject($notifiable->title)
->line($notifiable->content);
->line($notifiable->content)
->salutation('')
->line('Regards')
->line('Getinge Suzhou HR');
}
/**

@ -45,11 +45,15 @@ class VisitEmailNotify extends Notification
$visitData = $this->visitData;
return (new MailMessage)
->from(config('mail.from.address'), 'Getinge Suzhou HR')
->subject('新的拜访预约通知 - ' . $visitData['name'])
->greeting('您好 ' . $notifiable->name . '')
->line('您有一个新的拜访预约,访客 ' . $visitData['name'] . ' 预约于 ' . $visitData['date'] . ' 到访。')
->line('访客联系电话:' . $visitData['mobile'])
->line('拜访事由:' . ($visitData['reason'] ?? '无'))
->line('请及时处理此拜访预约。');
->line('请及时处理此拜访预约。')
->salutation('')
->line('Regards')
->line('Getinge Suzhou HR');
}
}

@ -0,0 +1,55 @@
<x-mail::message>
{{-- Greeting --}}
@if (! empty($greeting))
# {{ $greeting }}
@else
@if ($level === 'error')
# @lang('Whoops!')
@else
# @lang('Hello!')
@endif
@endif
{{-- Intro Lines --}}
@foreach ($introLines as $line)
{{ $line }}
@endforeach
{{-- Action Button --}}
@isset($actionText)
<?php
$color = match ($level) {
'success', 'error' => $level,
default => 'primary',
};
?>
<x-mail::button :url="$actionUrl" :color="$color">
{{ $actionText }}
</x-mail::button>
@endisset
{{-- Outro Lines --}}
@foreach ($outroLines as $line)
{{ $line }}
@endforeach
{{-- Salutation --}}
@if (! empty($salutation))
{{ $salutation }}
@endif
{{-- Subcopy --}}
@isset($actionText)
<x-slot:subcopy>
@lang(
"If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\n".
'into your web browser:',
[
'actionText' => $actionText,
]
) <span class="break-all">[{{ $displayableActionUrl }}]({{ $actionUrl }})</span>
</x-slot:subcopy>
@endisset
</x-mail::message>
Loading…
Cancel
Save