diff --git a/web/src/api/index.js b/web/src/api/index.js index 785d092..1b92614 100644 --- a/web/src/api/index.js +++ b/web/src/api/index.js @@ -68,4 +68,5 @@ export default { request.post(`/valuations/${data.valuation_id || data.id}/reject`, { admin_notes: data.admin_notes }), updateValuationNotes: (data = {}) => request.put(`/valuations/${data.valuation_id || data.id}/admin-notes`, { admin_notes: data.admin_notes }), + sendSmsReport: (data = {}) => request.post('/sms/send-report', data), } diff --git a/web/src/views/transaction/invoice/index.vue b/web/src/views/transaction/invoice/index.vue index 87ee127..7657198 100644 --- a/web/src/views/transaction/invoice/index.vue +++ b/web/src/views/transaction/invoice/index.vue @@ -296,6 +296,7 @@ async function handleInvoiceConfirm(formData) { subject: formData.email, // 用户要求 subject 传 email body: formData.content, // 映射 content -> body file_url: formData.attachments, // 映射 attachments -> file_url + status:'success' } let res = await api.sendInvoice(payload) diff --git a/web/src/views/valuation/audit/components/CertificateModal.vue b/web/src/views/valuation/audit/components/CertificateModal.vue index 3b96e65..c73cdec 100644 --- a/web/src/views/valuation/audit/components/CertificateModal.vue +++ b/web/src/views/valuation/audit/components/CertificateModal.vue @@ -15,6 +15,7 @@ import { import { getToken } from '@/utils/auth/token' import { generateReport } from '@/utils/report' +import api from '@/api' const props = defineProps({ visible: { @@ -188,6 +189,25 @@ const handlePreview = (file) => { // 图片文件返回 true,让 NUpload 使用内置预览 return true } + +// 短信通知 +const handleSmsNotify = async () => { + try { + const phone = props.certificateData?.detailData?.user_phone + if (!phone) { + message.error('缺少手机号,无法发送短信') + return + } + message.loading('正在发送短信...') + await api.sendSmsReport({ + phone: phone + }) + message.success('短信发送成功') + } catch (error) { + console.error(error) + message.error('短信发送失败') + } +}