diff options
Diffstat (limited to 'components/bidding/manage/bidding-schedule-editor.tsx')
| -rw-r--r-- | components/bidding/manage/bidding-schedule-editor.tsx | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/components/bidding/manage/bidding-schedule-editor.tsx b/components/bidding/manage/bidding-schedule-editor.tsx index 4ddaee08..49659ae7 100644 --- a/components/bidding/manage/bidding-schedule-editor.tsx +++ b/components/bidding/manage/bidding-schedule-editor.tsx @@ -633,6 +633,9 @@ export function BiddingScheduleEditor({ biddingId, readonly = false }: BiddingSc value={schedule.submissionStartDate} onChange={(e) => handleScheduleChange('submissionStartDate', e.target.value)} className={!schedule.submissionStartDate ? 'border-red-200' : ''} + disabled={readonly} + min="1900-01-01T00:00" + max="2100-12-31T23:59" /> {!schedule.submissionStartDate && ( <p className="text-sm text-red-500">제출 시작일시는 필수입니다</p> @@ -646,6 +649,9 @@ export function BiddingScheduleEditor({ biddingId, readonly = false }: BiddingSc value={schedule.submissionEndDate} onChange={(e) => handleScheduleChange('submissionEndDate', e.target.value)} className={!schedule.submissionEndDate ? 'border-red-200' : ''} + disabled={readonly} + min="1900-01-01T00:00" + max="2100-12-31T23:59" /> {!schedule.submissionEndDate && ( <p className="text-sm text-red-500">제출 마감일시는 필수입니다</p> @@ -665,6 +671,7 @@ export function BiddingScheduleEditor({ biddingId, readonly = false }: BiddingSc <Switch checked={schedule.isUrgent || false} onCheckedChange={(checked) => handleScheduleChange('isUrgent', checked)} + disabled={readonly} /> </div> @@ -679,6 +686,7 @@ export function BiddingScheduleEditor({ biddingId, readonly = false }: BiddingSc <Switch checked={schedule.hasSpecificationMeeting || false} onCheckedChange={(checked) => handleScheduleChange('hasSpecificationMeeting', checked)} + disabled={readonly} /> </div> @@ -693,6 +701,9 @@ export function BiddingScheduleEditor({ biddingId, readonly = false }: BiddingSc value={specMeetingInfo.meetingDate} onChange={(e) => setSpecMeetingInfo((prev) => ({ ...prev, meetingDate: e.target.value }))} className={!specMeetingInfo.meetingDate ? 'border-red-200' : ''} + disabled={readonly} + min="1900-01-01T00:00" + max="2100-12-31T23:59" /> {!specMeetingInfo.meetingDate && ( <p className="text-sm text-red-500 mt-1">회의일시는 필수입니다</p> @@ -704,6 +715,7 @@ export function BiddingScheduleEditor({ biddingId, readonly = false }: BiddingSc placeholder="예: 14:00 ~ 16:00" value={specMeetingInfo.meetingTime} onChange={(e) => setSpecMeetingInfo((prev) => ({ ...prev, meetingTime: e.target.value }))} + disabled={readonly} /> </div> </div> @@ -714,6 +726,7 @@ export function BiddingScheduleEditor({ biddingId, readonly = false }: BiddingSc value={specMeetingInfo.location} onChange={(e) => setSpecMeetingInfo((prev) => ({ ...prev, location: e.target.value }))} className={!specMeetingInfo.location ? 'border-red-200' : ''} + disabled={readonly} /> {!specMeetingInfo.location && ( <p className="text-sm text-red-500 mt-1">회의 장소는 필수입니다</p> @@ -725,6 +738,7 @@ export function BiddingScheduleEditor({ biddingId, readonly = false }: BiddingSc placeholder="회의 장소 주소" value={specMeetingInfo.address} onChange={(e) => setSpecMeetingInfo((prev) => ({ ...prev, address: e.target.value }))} + disabled={readonly} /> </div> <div className="grid grid-cols-3 gap-4"> @@ -735,6 +749,7 @@ export function BiddingScheduleEditor({ biddingId, readonly = false }: BiddingSc value={specMeetingInfo.contactPerson} onChange={(e) => setSpecMeetingInfo((prev) => ({ ...prev, contactPerson: e.target.value }))} className={!specMeetingInfo.contactPerson ? 'border-red-200' : ''} + disabled={readonly} /> {!specMeetingInfo.contactPerson && ( <p className="text-sm text-red-500 mt-1">담당자는 필수입니다</p> @@ -746,6 +761,7 @@ export function BiddingScheduleEditor({ biddingId, readonly = false }: BiddingSc placeholder="전화번호" value={specMeetingInfo.contactPhone} onChange={(e) => setSpecMeetingInfo((prev) => ({ ...prev, contactPhone: e.target.value }))} + disabled={readonly} /> </div> <div> @@ -755,6 +771,7 @@ export function BiddingScheduleEditor({ biddingId, readonly = false }: BiddingSc placeholder="이메일" value={specMeetingInfo.contactEmail} onChange={(e) => setSpecMeetingInfo((prev) => ({ ...prev, contactEmail: e.target.value }))} + disabled={readonly} /> </div> </div> @@ -765,6 +782,7 @@ export function BiddingScheduleEditor({ biddingId, readonly = false }: BiddingSc value={specMeetingInfo.agenda} onChange={(e) => setSpecMeetingInfo((prev) => ({ ...prev, agenda: e.target.value }))} rows={3} + disabled={readonly} /> </div> <div> @@ -774,6 +792,7 @@ export function BiddingScheduleEditor({ biddingId, readonly = false }: BiddingSc value={specMeetingInfo.materials} onChange={(e) => setSpecMeetingInfo((prev) => ({ ...prev, materials: e.target.value }))} rows={3} + disabled={readonly} /> </div> <div> @@ -783,6 +802,7 @@ export function BiddingScheduleEditor({ biddingId, readonly = false }: BiddingSc value={specMeetingInfo.notes} onChange={(e) => setSpecMeetingInfo((prev) => ({ ...prev, notes: e.target.value }))} rows={3} + disabled={readonly} /> </div> </div> @@ -799,6 +819,7 @@ export function BiddingScheduleEditor({ biddingId, readonly = false }: BiddingSc onChange={(e) => handleScheduleChange('remarks', e.target.value)} placeholder="일정에 대한 추가 설명이나 참고사항을 입력하세요" rows={4} + disabled={readonly} /> </div> </div> |
