提交
This commit is contained in:
1 parent
771f010a39
commit
ee4abd361e
102 files changed
+8021
-4094
No files matched your search
@@ -188,7 +188,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<span class="upload-hint"
|
||||
>支持图片、视频、PDF、Word、Excel等文件,单文件不超过 20MB</span
|
||||
>支持图片、视频、PDF、Word、Excel等文件</span
|
||||
>
|
||||
</div>
|
||||
</el-form-item>
|
||||
@@ -585,12 +585,10 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="价格(元)">
|
||||
<el-input
|
||||
<AmountInput
|
||||
v-model="row.price"
|
||||
type="number"
|
||||
step="any"
|
||||
:min="0"
|
||||
style="width: 100%"
|
||||
placeholder="请输入价格"
|
||||
@change="onSamplePriceChange"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -844,7 +842,7 @@
|
||||
class="detail-amount"
|
||||
:class="detail.payStatus === 'yjf' ? 'green' : 'amber'"
|
||||
>
|
||||
¥{{ detail.dueAmount }}
|
||||
{{ fmtMoney(detail.dueAmount) }}
|
||||
</span>
|
||||
<span
|
||||
v-if="detail.payStatus"
|
||||
@@ -896,12 +894,10 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="转账金额(元)">
|
||||
<el-input
|
||||
<AmountInput
|
||||
v-model="detail.transferAmount"
|
||||
type="number"
|
||||
step="any"
|
||||
:min="0"
|
||||
style="width: 100%"
|
||||
placeholder="请输入转账金额"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="转账时间">
|
||||
@@ -1010,7 +1006,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<span class="upload-hint"
|
||||
>支持图片、视频、PDF、Word、Excel等文件,单文件不超过 20MB</span
|
||||
>支持图片、视频、PDF、Word、Excel等文件</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1215,6 +1211,8 @@
|
||||
import { fetchEthnicList, type EthnicOption } from '@/api/ethnic'
|
||||
import { useUserStore } from '@/store/modules/user'
|
||||
import { syncFqPaymentDetailRowCount } from '@/utils/protocol-payment-installment'
|
||||
import AmountInput from '@/components/common/amount-input/index.vue'
|
||||
import { formatMoneyDisplay } from '@/utils/money-format'
|
||||
import {
|
||||
payModeLabel,
|
||||
newbornSexLabel,
|
||||
@@ -1225,6 +1223,12 @@
|
||||
payStatusLabel
|
||||
} from '@/utils/status-tag-registry'
|
||||
|
||||
/** 金额只读展示:千分位 + ¥ 前缀 */
|
||||
function fmtMoney(v: unknown): string {
|
||||
if (v == null || v === '') return '—'
|
||||
return '¥' + formatMoneyDisplay(v)
|
||||
}
|
||||
|
||||
const userStore = useUserStore()
|
||||
|
||||
const customerId = ref<string | null>(null)
|
||||
@@ -2738,13 +2742,6 @@
|
||||
const file = uploadFile.raw || uploadFile
|
||||
if (!file) return
|
||||
|
||||
const maxSizeMb = 20
|
||||
if (file.size / 1024 / 1024 > maxSizeMb) {
|
||||
ElMessage.error(`文件大小不能超过 ${maxSizeMb}MB`)
|
||||
attachmentUploadRef.value?.clearFiles()
|
||||
return
|
||||
}
|
||||
|
||||
const tempId = `temp_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`
|
||||
formData.attachments.push({
|
||||
id: tempId,
|
||||
@@ -2789,11 +2786,6 @@
|
||||
const file = uploadFile.raw || uploadFile
|
||||
if (!file) return
|
||||
|
||||
const maxSizeMb = 20
|
||||
if (file.size / 1024 / 1024 > maxSizeMb) {
|
||||
ElMessage.error(`文件大小不能超过 ${maxSizeMb}MB`)
|
||||
return
|
||||
}
|
||||
|
||||
const detail = formData.paymentDetails[detailIndex]
|
||||
if (!detail) return
|
||||
|
||||
@@ -454,7 +454,7 @@
|
||||
<div class="data-item"
|
||||
><div class="data-label">保单费用(元)</div
|
||||
><div class="data-value">{{
|
||||
formatMoney(fullmoonInsuranceInfo?.insuranceFee)
|
||||
fmtMoney(fullmoonInsuranceInfo?.insuranceFee)
|
||||
}}</div></div
|
||||
>
|
||||
<div class="data-item"
|
||||
@@ -722,13 +722,13 @@
|
||||
<div class="payment-metric"
|
||||
><div class="pm-label">合同金额(元)</div
|
||||
><div class="pm-value pm-value--amount">{{
|
||||
payment?.contractAmount ? `¥${payment.contractAmount}` : '—'
|
||||
fmtMoney(payment?.contractAmount)
|
||||
}}</div></div
|
||||
>
|
||||
<div class="payment-metric"
|
||||
><div class="pm-label">已收金额(元)</div
|
||||
><div class="pm-value pm-value--amount pm-value--received">{{
|
||||
receivedAmount ? `¥${receivedAmount}` : '—'
|
||||
fmtMoney(receivedAmount)
|
||||
}}</div></div
|
||||
>
|
||||
<template v-if="payment?.payMode === 'dj'">
|
||||
@@ -775,7 +775,7 @@
|
||||
class="pdc-header-amount"
|
||||
:class="payDetailColorClass(String(detail.payStatus || ''))"
|
||||
>
|
||||
{{ detail.dueAmount ? `¥${detail.dueAmount}` : '—' }}
|
||||
{{ fmtMoney(detail.dueAmount) }}
|
||||
</span>
|
||||
</div>
|
||||
<el-tag :type="payStatusTagType(String(detail.payStatus || ''))" size="small">
|
||||
@@ -788,7 +788,7 @@
|
||||
<div class="pdc-info-item">
|
||||
<span class="info-label">应缴费金额(元)</span>
|
||||
<span class="info-value">{{
|
||||
detail.dueAmount ? `¥${detail.dueAmount}` : '—'
|
||||
fmtMoney(detail.dueAmount)
|
||||
}}</span>
|
||||
</div>
|
||||
<div class="pdc-info-item">
|
||||
@@ -800,7 +800,7 @@
|
||||
<div class="pdc-info-item">
|
||||
<span class="info-label">转账金额(元)</span>
|
||||
<span class="info-value">{{
|
||||
detail.transferAmount ? `¥${detail.transferAmount}` : '—'
|
||||
fmtMoney(detail.transferAmount)
|
||||
}}</span>
|
||||
</div>
|
||||
<div class="pdc-info-item">
|
||||
@@ -951,7 +951,7 @@
|
||||
<span
|
||||
class="flow-detail-card__value"
|
||||
:class="payDetailColorClass(String(detail.payStatus || ''))"
|
||||
>{{ detail.refundAmount ? `¥${detail.refundAmount}` : '—' }}</span
|
||||
>{{ fmtMoney(detail.refundAmount) }}</span
|
||||
>
|
||||
</div>
|
||||
<div
|
||||
@@ -1172,6 +1172,7 @@
|
||||
fetchUserList
|
||||
} from '@/api/admin'
|
||||
import { downloadAttachmentFile } from '@/utils/download-attachment'
|
||||
import { formatMoneyDisplay } from '@/utils/money-format'
|
||||
import {
|
||||
protocolStatusLabel,
|
||||
protocolStatusTagType,
|
||||
@@ -1358,11 +1359,10 @@
|
||||
return val === '1' ? 'success' : 'info'
|
||||
}
|
||||
|
||||
function formatMoney(val: unknown) {
|
||||
if (val === null || val === undefined || val === '') return '—'
|
||||
const n = Number(val)
|
||||
if (Number.isNaN(n)) return String(val)
|
||||
return `¥${n.toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`
|
||||
/** 金额只读展示:千分位 + ¥ 前缀,null 显示 — */
|
||||
function fmtMoney(v: unknown): string {
|
||||
if (v == null || v === '') return '—'
|
||||
return '¥' + formatMoneyDisplay(v)
|
||||
}
|
||||
|
||||
function storageCertMakeStatusLabel(makeStatus: string) {
|
||||
|
||||
Reference in new issue
Block a user