|
|
@@ -34,6 +34,9 @@ class BillStatusBar {
|
|
|
/// "还车"按钮回调(仅用车申请单使用)
|
|
|
final VoidCallback? onReturn;
|
|
|
|
|
|
+ /// "修改还车信息"按钮回调(仅用车申请单使用,已还车后显示)
|
|
|
+ final VoidCallback? onEditReturn;
|
|
|
+
|
|
|
/// 点击状态标签回调(查看审批轨迹)
|
|
|
final VoidCallback? onTapStatusTag;
|
|
|
|
|
|
@@ -56,6 +59,7 @@ class BillStatusBar {
|
|
|
this.onSubmit,
|
|
|
this.onCancelSubmit,
|
|
|
this.onReturn,
|
|
|
+ this.onEditReturn,
|
|
|
this.onTapStatusTag,
|
|
|
this.closedText,
|
|
|
this.transferredText,
|
|
|
@@ -79,6 +83,7 @@ class BillStatusBar {
|
|
|
// ── 按钮显隐 ──
|
|
|
|
|
|
bool get showEdit {
|
|
|
+ if (_isReturned) return false;
|
|
|
final s = _approvalStatus;
|
|
|
if (s == 'SHCOUNT0' || s == 'SHCOUNT3') return _canEdit;
|
|
|
if (s == 'SHCOUNT6') return _canEdit;
|
|
|
@@ -87,14 +92,14 @@ class BillStatusBar {
|
|
|
|
|
|
bool get showSubmit {
|
|
|
if (!canManualSubmit) return false;
|
|
|
- if (_isClosed || _isTransferred) return false;
|
|
|
+ if (_isClosed || _isTransferred || _isReturned) return false;
|
|
|
final s = _approvalStatus;
|
|
|
return s == 'SHCOUNT0' || s == 'SHCOUNT3';
|
|
|
}
|
|
|
|
|
|
bool get showCancelSubmit {
|
|
|
if (!canManualSubmit) return false;
|
|
|
- if (_isClosed || _isTransferred) return false;
|
|
|
+ if (_isClosed || _isTransferred || _isReturned) return false;
|
|
|
return _approvalStatus == 'SHCOUNT1';
|
|
|
}
|
|
|
|
|
|
@@ -107,8 +112,13 @@ class BillStatusBar {
|
|
|
!_isTransferred;
|
|
|
}
|
|
|
|
|
|
+ bool get showEditReturn {
|
|
|
+ if (onEditReturn == null) return false;
|
|
|
+ return _isReturned;
|
|
|
+ }
|
|
|
+
|
|
|
bool get _showButtons =>
|
|
|
- showEdit || showSubmit || showCancelSubmit || showReturn;
|
|
|
+ showEdit || showSubmit || showCancelSubmit || showReturn || showEditReturn;
|
|
|
|
|
|
// ── 状态标签数据 ──
|
|
|
|
|
|
@@ -263,6 +273,21 @@ class BillStatusBar {
|
|
|
),
|
|
|
),
|
|
|
],
|
|
|
+ if (showEditReturn) ...[
|
|
|
+ if (showEdit || showSubmit || showCancelSubmit || showReturn)
|
|
|
+ const SizedBox(width: 12),
|
|
|
+ Expanded(
|
|
|
+ child: TDButton(
|
|
|
+ icon: Icons.assignment_return_outlined,
|
|
|
+ text: _editReturnLabel(l10n),
|
|
|
+ size: TDButtonSize.medium,
|
|
|
+ type: TDButtonType.outline,
|
|
|
+ shape: TDButtonShape.round,
|
|
|
+ theme: TDButtonTheme.primary,
|
|
|
+ onTap: onEditReturn,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
],
|
|
|
),
|
|
|
);
|
|
|
@@ -275,4 +300,5 @@ class BillStatusBar {
|
|
|
String _submitLabel(AppLocalizations l10n) => l10n.get('submit');
|
|
|
String _cancelSubmitLabel(AppLocalizations l10n) => l10n.get('cancelSubmit');
|
|
|
String _returnLabel(AppLocalizations l10n) => l10n.get('returnCar');
|
|
|
+ String _editReturnLabel(AppLocalizations l10n) => l10n.get('editReturnInfo');
|
|
|
}
|