feat(est): reproduce native tables and calculations
This commit is contained in:
+158
-18
@@ -1,19 +1,159 @@
|
||||
<!doctype html>
|
||||
<!doctype html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>EST 업무 테스트</title><link rel="stylesheet" href="style.css">
|
||||
<script defer src="formula.js"></script><script defer src="calc.js"></script><script defer src="workflows.js"></script><script defer src="app.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<div class="titlebar"><strong>EST 업무 테스트</strong><span>독립 실행 · 시험자료</span></div>
|
||||
<div class="menubar"><span>파일</span><span>편집</span><span>공종</span><span>재계산</span><span>원가계산서</span><span>수량</span><span>도구</span><span>작업모드</span></div>
|
||||
<div class="toolbar"><button id="reset">▤ 새 내역서</button><label class="button">▣ 불러오기<input id="open" type="file" accept=".json,application/json" hidden></label><button id="save">▣ 저장하기</button><i></i><button id="recalculate">⟳ 전체 재계산</button><button id="print">▧ 인쇄</button><i></i><span>공사명</span><input id="projectName" aria-label="공사명" value="시험 내역서" maxlength="200"></div>
|
||||
</header>
|
||||
<div class="workspace">
|
||||
<aside><div class="sidehead">작업화면 이동</div><nav class="tabs" aria-label="작업 화면"><button data-tab="estimate">▦ <span>내역서</span></button><button data-tab="units">▤ <span>일위대가</span></button><button data-tab="sources">▥ <span>기초단가</span></button><button data-tab="machines">⚙ <span>기계경비</span></button><button data-tab="quantities">▤ <span>수량산출</span></button><button data-tab="costs">▧ <span>원가계산서</span></button><button data-tab="progress">▦ <span>기성고</span></button><button data-tab="escalation">▤ <span>물가변동</span></button><button data-tab="resources">▤ <span>동원 집계</span></button></nav><div class="sideinfo">작업 자료<br><b>독립 테스트</b><p>내용을 수정한 뒤 저장하기를 눌러 파일로 보관하세요.</p></div></aside>
|
||||
<main><div class="notice">구현 중 · 상단 메뉴는 배치 참고용이며 왼쪽 작업화면과 도구 버튼만 동작합니다. 예제 수치는 임의 값이며 원본 EST와의 동등성은 검증되지 않았습니다.</div><div class="summary" id="summary"></div><section id="panel" aria-live="polite"></section></main>
|
||||
</div>
|
||||
<footer><span>● 준비</span><span>저장: JSON 파일 · 탭을 닫기 전에 저장하세요</span></footer>
|
||||
</body></html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
<title>EST 독립 업무 프로그램</title>
|
||||
<link rel="stylesheet" href="native.css" />
|
||||
<script defer src="native-math.js"></script>
|
||||
<script defer src="native-formula.js"></script>
|
||||
<script defer src="native-machine.js"></script>
|
||||
<script defer src="native-rows.js"></script>
|
||||
<script defer src="native-text.js"></script>
|
||||
<script defer src="native-wonga.js"></script>
|
||||
<script defer src="native-engine.js"></script>
|
||||
<script defer src="native-business.js"></script>
|
||||
<script defer src="native-resources.js"></script>
|
||||
<script defer src="native-model.js"></script>
|
||||
<script defer src="native-views.js"></script>
|
||||
<script defer src="native-extra.js"></script>
|
||||
<script defer src="native-actions.js"></script>
|
||||
<script defer src="native-app.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<div class="titlebar">
|
||||
<b>EST 독립 업무 프로그램</b><span>내역 · 단가 · 원가</span
|
||||
><button data-action="parity">REA 샘플 대조</button>
|
||||
</div>
|
||||
<div class="menubar">
|
||||
<details>
|
||||
<summary>파일(F)</summary>
|
||||
<div class="menu">
|
||||
<button data-action="new">새 내역서 만들기</button
|
||||
><button data-action="open">불러오기…</button
|
||||
><button data-action="projects">저장한 작업…</button>
|
||||
<hr />
|
||||
<button data-action="save">저장하기 Ctrl+S</button
|
||||
><button data-action="save-as">다른 이름으로 저장</button
|
||||
><button data-action="sample">REA 샘플 열기</button>
|
||||
<hr />
|
||||
<button data-action="csv">현재 자료 CSV 내보내기</button
|
||||
><button data-action="print">인쇄</button>
|
||||
</div>
|
||||
</details>
|
||||
<details>
|
||||
<summary>편집(E)</summary>
|
||||
<div class="menu">
|
||||
<button data-action="undo">실행 취소</button
|
||||
><button data-action="redo">다시 실행</button>
|
||||
<hr />
|
||||
<button data-action="copy-row">선택 행 복사</button
|
||||
><button data-action="cut-row">선택 행 잘라내기</button
|
||||
><button data-action="paste-row">행 붙여넣기</button
|
||||
><button data-action="delete-row">선택 행 삭제</button>
|
||||
<hr />
|
||||
<button data-action="find">찾기</button>
|
||||
</div>
|
||||
</details>
|
||||
<details>
|
||||
<summary>LEVEL</summary>
|
||||
<div class="menu levels">
|
||||
<button data-action="level" data-level="0">LEVEL 0</button
|
||||
><button data-action="level" data-level="1">LEVEL 1</button
|
||||
><button data-action="level" data-level="2">LEVEL 2</button
|
||||
><button data-action="level" data-level="3">LEVEL 3</button
|
||||
><button data-action="level" data-level="4">LEVEL 4</button
|
||||
><button data-action="level" data-level="5">LEVEL 5</button
|
||||
><button data-action="level" data-level="6">LEVEL 6</button
|
||||
><button data-action="level" data-level="7">LEVEL 7</button
|
||||
><button data-action="level" data-level="8">LEVEL 8</button
|
||||
><button data-action="level" data-level="9">LEVEL 9</button>
|
||||
</div>
|
||||
</details>
|
||||
<details>
|
||||
<summary>재계산(C)</summary>
|
||||
<div class="menu">
|
||||
<button data-action="recalculate">일건서류 전체 재계산</button
|
||||
><button data-action="recalculate">내역서 재계산</button
|
||||
><button data-action="apply-quantity">수량산출 반영 후 재계산</button>
|
||||
</div>
|
||||
</details>
|
||||
<details>
|
||||
<summary>원가계산서(W)</summary>
|
||||
<div class="menu">
|
||||
<button data-view="Wonga">원가계산서 보기</button
|
||||
><button data-action="template">원가 서식 선택</button
|
||||
><button data-action="settings">자릿수·도급액 고정</button>
|
||||
</div>
|
||||
</details>
|
||||
<details>
|
||||
<summary>작업모드(M)</summary>
|
||||
<div class="menu">
|
||||
<button data-view="EstMainDat">내역서</button
|
||||
><button data-view="change">설계변경</button><button data-view="progress">기성고</button
|
||||
><button data-view="escalation">물가변동</button
|
||||
><button data-view="annual">연차공사</button
|
||||
><button data-view="resources">동원인원·자재·장비</button>
|
||||
</div>
|
||||
</details>
|
||||
<button data-action="settings" class="menu-button">환경설정</button>
|
||||
</div>
|
||||
<div class="toolbar">
|
||||
<button data-action="new">▤ 새내역</button><button data-action="open">▣ 불러오기</button
|
||||
><button data-action="save">▣ 저장</button><i></i><button data-action="undo">↶ 취소</button
|
||||
><button data-action="recalculate">⟳ 재계산</button
|
||||
><button data-action="print">▧ 인쇄</button><i></i
|
||||
><label>공사명 <input id="project-name" aria-label="공사명" /></label
|
||||
><label><input id="automatic" type="checkbox" checked /> 자동계산</label
|
||||
><label><input id="refresh-sources" type="checkbox" /> 원천 단가 재조회</label>
|
||||
</div>
|
||||
<nav class="work-tabs" aria-label="작업 화면">
|
||||
<button data-view="EstMainDat">내역서</button><button data-view="HeadMainDat">일위</button
|
||||
><button data-view="CostMainDat">단가</button><button data-view="MachMainDat">기계</button
|
||||
><button data-view="EstiMateDat">견적</button><button data-view="SilJukDat">표준</button
|
||||
><button data-view="StuffcDat">자재</button><button data-view="LaborcDat">노임</button
|
||||
><button data-view="quantity">수량</button><button data-view="drawing">도면</button
|
||||
><button data-view="Wonga">원가</button><button data-view="MachGijunDat">기계기준</button>
|
||||
</nav>
|
||||
</header>
|
||||
<main>
|
||||
<div id="messages" role="alert" hidden></div>
|
||||
<div class="work-title"><b id="view-title">내역서</b><span id="selected-info"></span></div>
|
||||
<div id="standard-tools" class="row-tools">
|
||||
<button id="add-group" data-action="add-group" hidden>묶음 추가</button
|
||||
><button data-action="add-row">행 추가</button><button data-action="copy-row">복사</button
|
||||
><button data-action="paste-row">붙여넣기</button
|
||||
><button data-action="delete-row">삭제</button
|
||||
><input
|
||||
id="search"
|
||||
type="search"
|
||||
aria-label="현재 자료 검색"
|
||||
placeholder="품명·규격·코드 검색"
|
||||
/>
|
||||
<div id="paging">
|
||||
<button id="previous-page" aria-label="이전 페이지">‹</button><span id="page-info"></span
|
||||
><button id="next-page" aria-label="다음 페이지">›</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="work-area">
|
||||
<aside id="group-pane" hidden>
|
||||
<h2>공종 목록</h2>
|
||||
<div id="group-list"></div>
|
||||
</aside>
|
||||
<section id="work-content" aria-label="자료 편집"></section>
|
||||
</div>
|
||||
</main>
|
||||
<div id="totals" class="totals"></div>
|
||||
<footer>
|
||||
<span id="status">시작 중…</span><span>독립 저장 · ESTX 원본은 변경하지 않음</span>
|
||||
</footer>
|
||||
<input id="open-file" type="file" accept=".json,.estx" hidden />
|
||||
<dialog id="dialog">
|
||||
<div class="dialog-head">
|
||||
<b id="dialog-title"></b><button data-action="close-dialog" aria-label="닫기">×</button>
|
||||
</div>
|
||||
<div id="dialog-content"></div>
|
||||
</dialog>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user