|
|
@@ -175,11 +175,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div
|
|
|
- v-if="
|
|
|
- row.freight?.id ||
|
|
|
- row.freight?.transportMode ||
|
|
|
- row.transport?.etaTime
|
|
|
- "
|
|
|
+ v-if="row.freight?.id || row.freight?.transportMode || row.transport?.etaTime"
|
|
|
class="sample-card__section sample-card__section--transport"
|
|
|
>
|
|
|
<div class="sample-card__section-label">运输与运费</div>
|
|
|
@@ -194,9 +190,14 @@
|
|
|
<div class="data-label">运费(元)</div>
|
|
|
<div class="data-value"
|
|
|
>{{
|
|
|
- row.freight?.freightAmount != null
|
|
|
- ? '¥' + formatMoneyDisplay(row.freight.freightAmount)
|
|
|
- : '—'
|
|
|
+ freightAmountText(
|
|
|
+ row.freight?.transportMode,
|
|
|
+ row.freight?.freightAmount
|
|
|
+ ) === '月结'
|
|
|
+ ? '月结'
|
|
|
+ : row.freight?.freightAmount != null
|
|
|
+ ? '¥' + formatMoneyDisplay(row.freight.freightAmount)
|
|
|
+ : '—'
|
|
|
}}{{
|
|
|
Number(row.freight?.linkedSampleCount || 0) > 1 ? '(共用)' : ''
|
|
|
}}</div
|
|
|
@@ -523,12 +524,7 @@
|
|
|
<span v-else class="muted-dash">—</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="备注"
|
|
|
- min-width="140"
|
|
|
- align="center"
|
|
|
- show-overflow-tooltip
|
|
|
- >
|
|
|
+ <el-table-column label="备注" min-width="140" align="center" show-overflow-tooltip>
|
|
|
<template #default="{ row }">{{ row.remark || '—' }}</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
@@ -587,9 +583,7 @@
|
|
|
|
|
|
<div
|
|
|
class="data-grid"
|
|
|
- :class="
|
|
|
- String(sp.payMode) === 'fq' ? 'data-grid--6' : 'data-grid--3'
|
|
|
- "
|
|
|
+ :class="String(sp.payMode) === 'fq' ? 'data-grid--6' : 'data-grid--3'"
|
|
|
>
|
|
|
<div class="data-item">
|
|
|
<div class="data-label">缴费模式</div>
|
|
|
@@ -660,7 +654,9 @@
|
|
|
|
|
|
<div class="sample-pay-readonly__tr-title">
|
|
|
转账记录
|
|
|
- <span v-if="(sch.transfers || []).length" class="sample-pay-readonly__tr-count"
|
|
|
+ <span
|
|
|
+ v-if="(sch.transfers || []).length"
|
|
|
+ class="sample-pay-readonly__tr-count"
|
|
|
>({{ (sch.transfers || []).length }} 笔)</span
|
|
|
>
|
|
|
</div>
|
|
|
@@ -790,12 +786,7 @@
|
|
|
align="center"
|
|
|
show-overflow-tooltip
|
|
|
/>
|
|
|
- <el-table-column
|
|
|
- label="附件"
|
|
|
- min-width="280"
|
|
|
- align="left"
|
|
|
- header-align="center"
|
|
|
- >
|
|
|
+ <el-table-column label="附件" min-width="280" align="left" header-align="center">
|
|
|
<template #default="{ row }">
|
|
|
<ProtocolAttachmentReadonly
|
|
|
v-if="refundRecordAttachments(row).length"
|
|
|
@@ -879,9 +870,7 @@
|
|
|
</div>
|
|
|
<div class="data-item">
|
|
|
<div class="data-label">每期间隔(月)</div>
|
|
|
- <div class="data-value">{{
|
|
|
- dash(payment?.installmentIntervalMonths)
|
|
|
- }}</div>
|
|
|
+ <div class="data-value">{{ dash(payment?.installmentIntervalMonths) }}</div>
|
|
|
</div>
|
|
|
<div class="data-item">
|
|
|
<div class="data-label">分期开始时间</div>
|
|
|
@@ -1135,17 +1124,32 @@
|
|
|
align="center"
|
|
|
header-align="center"
|
|
|
/>
|
|
|
- <el-table-column label="变更类型" min-width="110" align="center" header-align="center">
|
|
|
+ <el-table-column
|
|
|
+ label="变更类型"
|
|
|
+ min-width="110"
|
|
|
+ align="center"
|
|
|
+ header-align="center"
|
|
|
+ >
|
|
|
<template #default="{ row }">
|
|
|
<el-tag :type="statusChangeTagType(String(row.changeType || ''))" size="small">
|
|
|
{{ statusChangeTypeLabel(String(row.changeType || '')) }}
|
|
|
</el-tag>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="变更时间" min-width="170" align="center" header-align="center">
|
|
|
+ <el-table-column
|
|
|
+ label="变更时间"
|
|
|
+ min-width="170"
|
|
|
+ align="center"
|
|
|
+ header-align="center"
|
|
|
+ >
|
|
|
<template #default="{ row }">{{ dash(row.changeTime) }}</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="状态流转" min-width="160" align="center" header-align="center">
|
|
|
+ <el-table-column
|
|
|
+ label="状态流转"
|
|
|
+ min-width="160"
|
|
|
+ align="center"
|
|
|
+ header-align="center"
|
|
|
+ >
|
|
|
<template #default="{ row }">{{ statusChangeFlow(row) }}</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
@@ -1157,7 +1161,12 @@
|
|
|
>
|
|
|
<template #default="{ row }">{{ statusChangeDesc(row) }}</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="操作人" min-width="120" align="center" header-align="center">
|
|
|
+ <el-table-column
|
|
|
+ label="操作人"
|
|
|
+ min-width="120"
|
|
|
+ align="center"
|
|
|
+ header-align="center"
|
|
|
+ >
|
|
|
<template #default="{ row }">{{ dash(row.operatorUserName) }}</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
@@ -1228,6 +1237,7 @@
|
|
|
} from '@/api/admin'
|
|
|
import { downloadAttachmentFile } from '@/utils/download-attachment'
|
|
|
import { formatMoneyDisplay } from '@/utils/money-format'
|
|
|
+ import { freightAmountText } from '@/utils/sf-express-freight'
|
|
|
import {
|
|
|
protocolStatusDisplayLabel,
|
|
|
protocolStatusTagType,
|
|
|
@@ -1432,13 +1442,14 @@
|
|
|
*/
|
|
|
const v1PayPeriods = computed(() => {
|
|
|
const details = paymentDetails.value
|
|
|
- if (!details.length) return [] as Array<{
|
|
|
- scheduleNo: number
|
|
|
- dueAmount: number | null
|
|
|
- dueDate: string
|
|
|
- paidAmount: number
|
|
|
- transfers: Array<Record<string, any>>
|
|
|
- }>
|
|
|
+ if (!details.length)
|
|
|
+ return [] as Array<{
|
|
|
+ scheduleNo: number
|
|
|
+ dueAmount: number | null
|
|
|
+ dueDate: string
|
|
|
+ paidAmount: number
|
|
|
+ transfers: Array<Record<string, any>>
|
|
|
+ }>
|
|
|
|
|
|
const paidOf = (rows: Array<Record<string, any>>) =>
|
|
|
rows
|
|
|
@@ -1456,9 +1467,7 @@
|
|
|
: payment.value?.contractAmount != null
|
|
|
? Number(payment.value.contractAmount)
|
|
|
: null,
|
|
|
- dueDate: String(
|
|
|
- payment.value?.lumpSumDeadline || details[0]?.installmentDueDate || ''
|
|
|
- ),
|
|
|
+ dueDate: String(payment.value?.lumpSumDeadline || details[0]?.installmentDueDate || ''),
|
|
|
paidAmount: paidOf(details),
|
|
|
transfers: details
|
|
|
}
|
|
|
@@ -1575,9 +1584,7 @@
|
|
|
}
|
|
|
|
|
|
const basicMotherNameDisplay = computed(() =>
|
|
|
- dash(
|
|
|
- partyCustomer.value?.motherName || props.listRow?.motherName || protocol.value?.motherName
|
|
|
- )
|
|
|
+ dash(partyCustomer.value?.motherName || props.listRow?.motherName || protocol.value?.motherName)
|
|
|
)
|
|
|
|
|
|
const dialogTitle = computed(() => {
|