From d8fb833c604d80affe8bad138afff1ca1d551de0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Mon, 16 Mar 2026 16:36:53 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20[finance]=20=EC=9D=BC=EC=9D=BC=EC=97=85?= =?UTF-8?q?=EB=AC=B4=EC=9D=BC=EC=A7=80=20=EA=B8=B0=EA=B0=84=20=EB=B3=B4?= =?UTF-8?q?=EA=B8=B0=20Babel=20=ED=8C=8C=EC=8B=B1=20=EC=97=90=EB=9F=AC=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 삼항연산자+&& 중첩 구조를 독립 조건문으로 분리 - Object.assign 인라인 스타일을 변수로 분리 --- .../views/finance/daily-work-log.blade.php | 180 +++++++++--------- 1 file changed, 91 insertions(+), 89 deletions(-) diff --git a/resources/views/finance/daily-work-log.blade.php b/resources/views/finance/daily-work-log.blade.php index ab528f53..014ae2f1 100644 --- a/resources/views/finance/daily-work-log.blade.php +++ b/resources/views/finance/daily-work-log.blade.php @@ -594,99 +594,101 @@ className="text-xs border border-gray-200 rounded" style={colorSelectStyle} titl ) : null} - {/* 기간 보기 모드 */} - {viewMode === 'range' && ( - rangeLoading ? ( -
- - 기간 조회 중... -
- ) : rangeLogs.length > 0 && ( -
- {rangeLogs.map(log => { - const logDate = parseDate(log.log_date); - const logDayName = DAYS[logDate.getDay()]; - const logTotal = log.items.length; - const logCompleted = log.items.filter(it => it.is_completed).length; - const logRate = logTotal > 0 ? ((logCompleted / logTotal) * 100).toFixed(0) : '0'; - const logRateColor = logRate >= 80 ? '#48bb78' : (logRate >= 50 ? '#ecc94b' : '#f56565'); - const logRateFill = { height: '100%', borderRadius: '4px', background: logRateColor, width: logRate + '%', transition: 'width 0.3s' }; - return ( -
-
-
- {log.log_date} - {logDayName} -
- + {/* 기간 보기 - 로딩 */} + {viewMode === 'range' && rangeLoading && ( +
+ + 기간 조회 중... +
+ )} + + {/* 기간 보기 - 결과 */} + {viewMode === 'range' && !rangeLoading && rangeLogs.length > 0 && ( +
+ {rangeLogs.map(log => { + const logDate = parseDate(log.log_date); + const logDayName = DAYS[logDate.getDay()]; + const logTotal = log.items.length; + const logCompleted = log.items.filter(it => it.is_completed).length; + const logRate = logTotal > 0 ? ((logCompleted / logTotal) * 100).toFixed(0) : '0'; + const logRateColor = logRate >= 80 ? '#48bb78' : (logRate >= 50 ? '#ecc94b' : '#f56565'); + const logRateFill = { height: '100%', borderRadius: '4px', background: logRateColor, width: logRate + '%', transition: 'width 0.3s' }; + const logRateText = { fontSize: '15px', color: logRateColor }; + return ( +
+
+
+ {log.log_date} + {logDayName}
- - - - - - - - - - - - - - - - - - - - - {log.items.map((item, idx) => { - const bgColor = getHighlightColor(item.highlight); - const rowStyle = bgColor ? { background: bgColor } : {}; - return ( - - - - - - - - - ); - })} - {log.items.length === 0 && ( - - )} - -
No.구분업무우선순위완료비고
{idx + 1}{item.category}{item.task}{item.priority || '-'}{item.is_completed ? '\u2705' : '\u2B1C'}{item.note}
항목 없음
- {log.memo && ( -
- 메모 - {log.memo} -
- )} - {log.reflection && ( -
- 회고 - {log.reflection} -
- )} -
- 달성률 -
-
-
-
- {logRate}% + +
+ + + + + + + + + + + + + + + + + + + + + {log.items.map((item, idx) => { + const bgColor = getHighlightColor(item.highlight); + const rowStyle = bgColor ? { background: bgColor } : {}; + return ( + + + + + + + + + ); + })} + {log.items.length === 0 && ( + + )} + +
No.구분업무우선순위완료비고
{idx + 1}{item.category}{item.task}{item.priority || '-'}{item.is_completed ? '\u2705' : '\u2B1C'}{item.note}
항목 없음
+ {log.memo && ( +
+ 메모 + {log.memo} +
+ )} + {log.reflection && ( +
+ 회고 + {log.reflection} +
+ )} +
+ 달성률 +
+
+
+ {logRate}%
- ); - })} -
- ) +
+ ); + })} +
)} {/* 하단 액션 (단건 모드에서만) */}