refactor: 작업자 진행상태(대기/진행중/완료) 라벨·색 SSOT 통합 (Phase 4)

StatusSelect 와 업무 상세에 각각 중복 정의되던 WORK_STATUS_META/ORDER 를
shared/constants/workStatus.ts 단일 소스로 추출(값 동일, 표시 변화 없음).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-23 00:00:21 +09:00
parent 21cabbe20b
commit 3380bbdcff
3 changed files with 27 additions and 16 deletions
+5 -10
View File
@@ -31,6 +31,10 @@ import { useDialog } from '@/composables/useDialog'
import UserAvatar from '@/components/UserAvatar.vue'
import StatusSelect from '@/components/StatusSelect.vue'
import { attachmentKindOf, fileBadge } from '@/shared/utils/format'
import {
WORK_STATUS_META,
WORK_STATUS_ORDER,
} from '@/shared/constants/workStatus'
const route = useRoute()
const router = useRouter()
@@ -302,16 +306,7 @@ const isAssignee = computed(
/* ============================================================
* 중간 점검(체크포인트) — 작업자가 점검일 당일에 보고서로 전송, 지시자는 기록 열람
* ============================================================ */
const WORK_STATUS_ORDER: ChecklistWorkStatus[] = ['todo', 'doing', 'done']
// 진행 상태 표시 메타(라벨/색/약색)
const WORK_STATUS_META: Record<
ChecklistWorkStatus,
{ label: string; color: string; weak: string }
> = {
todo: { label: '대기', color: '#9298a3', weak: '#eef0f2' },
doing: { label: '진행 중', color: '#2563eb', weak: '#e9f0fd' },
done: { label: '완료', color: '#1f9d57', weak: '#e7f5ed' },
}
// 진행 상태 메타/순서는 공용 SSOT(shared/constants/workStatus) 사용
// 카테고리 색(탭/그룹 dot)
const CAT_COLOR: Record<ChecklistCategory, string> = {
필수: '#2563eb',