| | |
| | | <el-descriptions-item label="员工编号">{{ row.employeeNo || row.applicantNo || "—" }}</el-descriptions-item> |
| | | <el-descriptions-item label="员工姓名">{{ row.employeeName || row.applicantName || "—" }}</el-descriptions-item> |
| | | <el-descriptions-item label="报销原因" :span="2">{{ row.reimburseReason || "—" }}</el-descriptions-item> |
| | | <el-descriptions-item label="出差开始">{{ row.travelStartTime || "—" }}</el-descriptions-item> |
| | | <el-descriptions-item label="出差结束">{{ row.travelEndTime || "—" }}</el-descriptions-item> |
| | | <el-descriptions-item label="出差开始">{{ dateOnly(row.travelStartTime) }}</el-descriptions-item> |
| | | <el-descriptions-item label="出差结束">{{ dateOnly(row.travelEndTime) }}</el-descriptions-item> |
| | | <el-descriptions-item label="出差地">{{ row.departurePlace || "—" }}</el-descriptions-item> |
| | | <el-descriptions-item label="目的地">{{ row.destination || "—" }}</el-descriptions-item> |
| | | <el-descriptions-item label="酒店标准">{{ row.hotelStandard != null ? `${row.hotelStandard} 元/晚` : "—" }}</el-descriptions-item> |
| | |
| | | <el-descriptions-item v-if="row.rejectReason" label="驳回原因" :span="2"> |
| | | <span class="reject-text">{{ row.rejectReason }}</span> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="创建时间" :span="2">{{ row.createTime || "—" }}</el-descriptions-item> |
| | | <el-descriptions-item label="创建时间" :span="2">{{ dateOnly(row.createTime) }}</el-descriptions-item> |
| | | </el-descriptions> |
| | | |
| | | <el-divider content-position="left">报销明细</el-divider> |
| | |
| | | |
| | | <script setup> |
| | | import { computed } from "vue"; |
| | | import { formatReimbursementDate } from "../../shared/finReimbursementMappers.js"; |
| | | import { expenseSubjectLabel, statusLabel, statusTagType } from "../travelReimburseUtils.js"; |
| | | |
| | | const props = defineProps({ |
| | | row: { type: Object, default: () => ({}) }, |
| | | }); |
| | | |
| | | function dateOnly(val) { |
| | | return formatReimbursementDate(val) || "—"; |
| | | } |
| | | |
| | | const attachmentFiles = computed(() => { |
| | | const list = |
| | | props.row?.attachmentList || |