결재 비활성 안내 개선 및 테이블 기능 보강

This commit is contained in:
JiWoong Sul
2025-09-29 15:49:06 +09:00
parent fef7108479
commit 98724762ec
18 changed files with 1134 additions and 297 deletions

View File

@@ -8,7 +8,7 @@ import '../../../../../core/constants/app_sections.dart';
import '../../../../../widgets/app_layout.dart';
import '../../../../../widgets/components/filter_bar.dart';
import '../../../../../widgets/components/superport_dialog.dart';
import '../../../../../widgets/spec_page.dart';
import '../../../../../widgets/components/feature_disabled_placeholder.dart';
import '../controllers/approval_step_controller.dart';
import '../../domain/entities/approval_step_input.dart';
import '../../domain/entities/approval_step_record.dart';
@@ -21,53 +21,28 @@ class ApprovalStepPage extends StatelessWidget {
Widget build(BuildContext context) {
final enabled = Environment.flag('FEATURE_APPROVALS_ENABLED');
if (!enabled) {
return const SpecPage(
return AppLayout(
title: '결재 단계 관리',
summary: '결재 단계 순서와 승인자를 구성합니다.',
sections: [
SpecSection(
title: '입력 폼',
items: [
'결재ID [Dropdown]',
'단계순서 [Number]',
'승인자 [Dropdown]',
'단계상태 [Dropdown]',
'비고 [Text]',
],
),
SpecSection(
title: '수정 폼',
items: ['결재ID [ReadOnly]', '단계순서 [ReadOnly]'],
),
SpecSection(
title: '테이블 리스트',
description: '1행 예시',
table: SpecTable(
columns: [
'번호',
'결재ID',
'단계순서',
'승인자',
'상태',
'배정일시',
'결정일시',
'비고',
],
rows: [
[
'1',
'APP-20240301-001',
'1',
'최관리',
'승인대기',
'2024-03-01 09:00',
'-',
'-',
],
],
subtitle: '결재 요청별 단계 현황을 구성하고 승인자를 배정합니다.',
breadcrumbs: const [
AppBreadcrumbItem(label: '대시보드', path: dashboardRoutePath),
AppBreadcrumbItem(label: '결재', path: '/approvals/steps'),
AppBreadcrumbItem(label: '결재 단계'),
],
actions: [
Tooltip(
message: 'API 연동 이후 단계 추가가 가능합니다.',
child: ShadButton(
onPressed: null,
leading: const Icon(lucide.LucideIcons.plus, size: 16),
child: const Text('단계 추가'),
),
),
],
child: const FeatureDisabledPlaceholder(
title: '결재 단계 기능 준비 중',
description: '결재 단계 API 연동을 기다리는 중입니다. 연동 후 단계 생성/수정/삭제 기능이 활성화됩니다.',
),
);
}