运维/财务:还车应结款分钟级时间与费用明细交互优化

- 还车应结款/查看/费用明细:交车/还车时间统一显示到分钟
- 待审批与审批中状态操作列支持撤回
- 费用明细:已收租金可编辑、预付款退费展示最后一辆车提示、证件丢失费用可编辑
- 同步更新相关需求说明文案

Made-with: Cursor
This commit is contained in:
王冕
2026-03-19 11:54:44 +08:00
parent 3a04a3d1c1
commit 3360dc785e
7 changed files with 110 additions and 46 deletions

View File

@@ -28,6 +28,22 @@ const Component = function () {
return n.toFixed(2);
}
function fmtYMDHM(v) {
if (v === null || v === undefined) return '-';
var s = String(v).trim();
if (!s) return '-';
if (/^\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}/.test(s)) return s.slice(0, 16);
if (/^\d{4}-\d{2}-\d{2}$/.test(s)) return s + ' 00:00';
try {
var d = new Date(s.replace(/-/g, '/'));
if (isNaN(d.getTime())) return s;
var p2 = function (n) { return n < 10 ? '0' + n : '' + n; };
return d.getFullYear() + '-' + p2(d.getMonth() + 1) + '-' + p2(d.getDate()) + ' ' + p2(d.getHours()) + ':' + p2(d.getMinutes());
} catch (e) {
return s;
}
}
// 页面样式
var layoutStyle = { padding: '16px 24px 72px', background: '#f5f5f5', minHeight: '100vh' };
var cardStyle = { marginBottom: 16 };
@@ -41,8 +57,8 @@ const Component = function () {
contractCode: 'LNZLHT20251106001',
projectName: '嘉兴腾4.5T租赁',
customerName: '嘉兴某某物流有限公司',
deliveryTime: '2026-02-01',
returnTime: '2026-02-27',
deliveryTime: '2026-02-01 09:30',
returnTime: '2026-02-27 16:20',
fragileInsurance: '是',
tireInsurance: '否',
maintenanceInsurance: '是'
@@ -268,8 +284,8 @@ const Component = function () {
{ title: '合同编码', dataIndex: 'contractCode', key: 'contractCode', width: 160, ellipsis: true },
{ title: '项目名称', dataIndex: 'projectName', key: 'projectName', width: 140, ellipsis: true },
{ title: '客户名称', dataIndex: 'customerName', key: 'customerName', width: 140, ellipsis: true },
{ title: '交车时间', dataIndex: 'deliveryTime', key: 'deliveryTime', width: 110 },
{ title: '还车时间', dataIndex: 'returnTime', key: 'returnTime', width: 110 },
{ title: '交车时间', dataIndex: 'deliveryTime', key: 'deliveryTime', width: 160, render: function (v) { return fmtYMDHM(v); } },
{ title: '还车时间', dataIndex: 'returnTime', key: 'returnTime', width: 160, render: function (v) { return fmtYMDHM(v); } },
{
title: '易损保', dataIndex: 'fragileInsurance', key: 'fragileInsurance', width: 110,
render: function (v) {