From 0d68dbcba27ce49c15f30126f7a5dfce974847a3 Mon Sep 17 00:00:00 2001
From: dujinkim <dujin.kim@dtsolution.co.kr>
Date: Wed, 19 Nov 2025 09:24:58 +0000
Subject: (최겸) 구매 입찰 발주비율 취소기능 추가 등
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../detail/general-contract-basic-info.tsx         | 161 ++++++++-------------
 1 file changed, 61 insertions(+), 100 deletions(-)

(limited to 'lib/general-contracts/detail/general-contract-basic-info.tsx')

diff --git a/lib/general-contracts/detail/general-contract-basic-info.tsx b/lib/general-contracts/detail/general-contract-basic-info.tsx
index 54c083ff..fc147b59 100644
--- a/lib/general-contracts/detail/general-contract-basic-info.tsx
+++ b/lib/general-contracts/detail/general-contract-basic-info.tsx
@@ -1385,9 +1385,25 @@ export function ContractBasicInfo({ contractId }: ContractBasicInfoProps) {
               </div>
 
               {/* 사외업체 야드투입 */}
-              <div className="space-y-4 col-span-2">
-                <Label className="text-base font-medium">사외업체 야드투입</Label>
+              <div className="space-y-4 grid grid-cols-2 col-span-2">
+                                                {/* 연동제적용 */}
+                                                <div className="space-y-4 flex-1">
+                  <Label className="text-base font-medium">연동제적용</Label>
+                  <div className="space-y-2">
+                    <Select value={formData.interlockingSystem} onValueChange={(value) => setFormData(prev => ({ ...prev, interlockingSystem: value }))}>
+                      <SelectTrigger>
+                        <SelectValue placeholder="연동제적용을 선택하세요" />
+                      </SelectTrigger>
+                      <SelectContent>
+                        <SelectItem value="Y">Y</SelectItem>
+                        <SelectItem value="N">N</SelectItem>
+                      </SelectContent>
+                    </Select>
+                  </div>
+                </div>
                 <div className="flex items-center space-x-4">
+                  <div className="space-y-4 flex-1">
+                <Label className="text-base font-medium">사외업체 야드투입</Label>
                   <div className="flex items-center space-x-2">
                     <input
                       type="radio"
@@ -1456,12 +1472,14 @@ export function ContractBasicInfo({ contractId }: ContractBasicInfoProps) {
                     </div>
                   </DialogContent>
                 </Dialog>
+                </div>
               </div>
 
               {/* 계약성립조건 */}
-              <div className="space-y-4 col-span-2">
-                <Label className="text-base font-medium">계약성립조건</Label>
+              <div className="space-y-4 grid grid-cols-2 col-span-2">
                 <div className="space-y-3">
+                <Label className="text-base font-medium">계약성립조건</Label>
+
                   <div className="flex items-center space-x-2">
                     <input
                       type="checkbox"
@@ -1503,106 +1521,49 @@ export function ContractBasicInfo({ contractId }: ContractBasicInfoProps) {
                     <Label htmlFor="establishmentOther">기타</Label>
                   </div>
                 </div>
-              </div>
-
-              {/* 연동제적용 */}
-              <div className="space-y-4">
-                <Label className="text-base font-medium">연동제적용</Label>
-                <div className="space-y-2">
-                  <Select value={formData.interlockingSystem} onValueChange={(value) => setFormData(prev => ({ ...prev, interlockingSystem: value }))}>
-                    <SelectTrigger>
-                      <SelectValue placeholder="연동제적용을 선택하세요" />
-                    </SelectTrigger>
-                    <SelectContent>
-                      <SelectItem value="Y">Y</SelectItem>
-                      <SelectItem value="N">N</SelectItem>
-                    </SelectContent>
-                  </Select>
+                                {/* 계약해지조건 */}
+                                <div className="space-y-4 flex-1">
+                  <Label className="text-base font-medium">계약해지조건</Label>
+                  <div className="space-y-3">
+                    <div className="flex items-center space-x-2">
+                      <input
+                        type="checkbox"
+                        id="standardTermination"
+                        checked={formData.contractTerminationConditions.standardTermination}
+                        onChange={(e) => setFormData(prev => ({ ...prev, contractTerminationConditions: { ...prev.contractTerminationConditions, standardTermination: e.target.checked } }))}
+                        className="rounded"
+                      />
+                      <Label htmlFor="standardTermination">표준 계약해지조건</Label>
+                    </div>
+                    <div className="flex items-center space-x-2">
+                      <input
+                        type="checkbox"
+                        id="projectNotAwarded"
+                        checked={formData.contractTerminationConditions.projectNotAwarded}
+                        onChange={(e) => setFormData(prev => ({ ...prev, contractTerminationConditions: { ...prev.contractTerminationConditions, projectNotAwarded: e.target.checked } }))}
+                        className="rounded"
+                      />
+                      <Label htmlFor="projectNotAwarded">프로젝트 미수주 시</Label>
+                    </div>
+                    <div className="flex items-center space-x-2">
+                      <input
+                        type="checkbox"
+                        id="terminationOther"
+                        checked={formData.contractTerminationConditions.other}
+                        onChange={(e) => setFormData(prev => ({ ...prev, contractTerminationConditions: { ...prev.contractTerminationConditions, other: e.target.checked } }))}
+                        className="rounded"
+                      />
+                      <Label htmlFor="terminationOther">기타</Label>
+                    </div>
+                  </div>
                 </div>
               </div>
 
-              {/* 필수문서동의 */}
-              {/* <div className="space-y-4">
-                <Label className="text-base font-medium">필수문서동의</Label>
-                <div className="space-y-3">
-                  <div className="flex items-center space-x-2">
-                    <input
-                      type="checkbox"
-                      id="technicalDataAgreement"
-                      checked={formData.mandatoryDocuments.technicalDataAgreement}
-                      onChange={(e) => setFormData(prev => ({ ...prev, mandatoryDocuments: { ...prev.mandatoryDocuments, technicalDataAgreement: e.target.checked } }))}
-                      className="rounded"
-                    />
-                    <Label htmlFor="technicalDataAgreement">기술자료제공동의서</Label>
-                  </div>
-                  <div className="flex items-center space-x-2">
-                    <input
-                      type="checkbox"
-                      id="nda"
-                      checked={formData.mandatoryDocuments.nda}
-                      onChange={(e) => setFormData(prev => ({ ...prev, mandatoryDocuments: { ...prev.mandatoryDocuments, nda: e.target.checked } }))}
-                      className="rounded"
-                    />
-                    <Label htmlFor="nda">비밀유지계약서(NDA)</Label>
-                  </div>
-                  <div className="flex items-center space-x-2">
-                    <input
-                      type="checkbox"
-                      id="basicCompliance"
-                      checked={formData.mandatoryDocuments.basicCompliance}
-                      onChange={(e) => setFormData(prev => ({ ...prev, mandatoryDocuments: { ...prev.mandatoryDocuments, basicCompliance: e.target.checked } }))}
-                      className="rounded"
-                    />
-                    <Label htmlFor="basicCompliance">기본준수서약서</Label>
-                  </div>
-                  <div className="flex items-center space-x-2">
-                    <input
-                      type="checkbox"
-                      id="safetyHealthAgreement"
-                      checked={formData.mandatoryDocuments.safetyHealthAgreement}
-                      onChange={(e) => setFormData(prev => ({ ...prev, mandatoryDocuments: { ...prev.mandatoryDocuments, safetyHealthAgreement: e.target.checked } }))}
-                      className="rounded"
-                    />
-                    <Label htmlFor="safetyHealthAgreement">안전보건관리 약정서</Label>
-                  </div>
-                </div>
-              </div> */}
+              {/* 연동제적용과 계약해지조건을 같은 줄에 배치 */}
+              <div className="flex gap-8">
+
+
 
-              {/* 계약해지조건 */}
-              <div className="space-y-4">
-                <Label className="text-base font-medium">계약해지조건</Label>
-                <div className="space-y-3">
-                  <div className="flex items-center space-x-2">
-                    <input
-                      type="checkbox"
-                      id="standardTermination"
-                      checked={formData.contractTerminationConditions.standardTermination}
-                      onChange={(e) => setFormData(prev => ({ ...prev, contractTerminationConditions: { ...prev.contractTerminationConditions, standardTermination: e.target.checked } }))}
-                      className="rounded"
-                    />
-                    <Label htmlFor="standardTermination">표준 계약해지조건</Label>
-                  </div>
-                  <div className="flex items-center space-x-2">
-                    <input
-                      type="checkbox"
-                      id="projectNotAwarded"
-                      checked={formData.contractTerminationConditions.projectNotAwarded}
-                      onChange={(e) => setFormData(prev => ({ ...prev, contractTerminationConditions: { ...prev.contractTerminationConditions, projectNotAwarded: e.target.checked } }))}
-                      className="rounded"
-                    />
-                    <Label htmlFor="projectNotAwarded">프로젝트 미수주 시</Label>
-                  </div>
-                  <div className="flex items-center space-x-2">
-                    <input
-                      type="checkbox"
-                      id="terminationOther"
-                      checked={formData.contractTerminationConditions.other}
-                      onChange={(e) => setFormData(prev => ({ ...prev, contractTerminationConditions: { ...prev.contractTerminationConditions, other: e.target.checked } }))}
-                      className="rounded"
-                    />
-                    <Label htmlFor="terminationOther">기타</Label>
-                  </div>
-                </div>
               </div>
 
               <div className="space-y-2 col-span-2">
-- 
cgit v1.2.3

