jichoi / calendar star
류윤주 류윤주 5 hours ago
250812 류윤주 수정
@ec1fcda8627ec72279cef302ca639387eafc3470
client/resources/scss/admin/content.scss
--- client/resources/scss/admin/content.scss
+++ client/resources/scss/admin/content.scss
@@ -696,4 +696,19 @@
 }
 .modal .modal-dialog.small-modal{
     width: 300px;
+}
+
+.search-zone{
+    padding: 2rem;
+    border: 1px solid #213F9A;
+    border-radius: 1rem;
+}
+
+.left-icon{
+    height: 5rem;
+    padding-left: 6rem;
+    background-image: url(#{$url}/img.png);
+    background-position: left center;
+    background-repeat: no-repeat;
+    background-size: 50px 50px;
 }
(No newline at end of file)
client/views/pages/Manager/attendance/AttendanceDetail.vue
--- client/views/pages/Manager/attendance/AttendanceDetail.vue
+++ client/views/pages/Manager/attendance/AttendanceDetail.vue
@@ -1,11 +1,11 @@
 <template>
-  <div class="card ">
+  <div class="card">
     <div class="card-body">
       <h2 class="card-title">부서별 근태현황</h2>
-        <div class="d-flex">
-          <div class="img-area">
-            <div class="img"><img :src="photoicon" alt="">
-            </div>
+      <div>
+        <div class="d-flex align-stretch justify-between mb10">
+          <div class="img-area" style="width: 300px; background-color: #EFF1FA;border-radius: 1rem; padding: 3rem;">
+            <div class="img" style="width: 92px;background-color: #ffffff; padding: 1rem; margin: 0 auto;"><img :src="photoicon" ></div>
           </div>
           <div class="tbl-wrap" style="width: calc(100% - 310px);">
             <table class="tbl data radius-table">
@@ -41,121 +41,102 @@
           </div>
 
         </div>
-
-      <div class="sch-form-wrap">
-        <div class="input-group d-flex justify-end">
-          <select name="" id="" class="form-select sm">
-              <option :value="currentYear">{{ currentYear }}년</option>
-              <option value="all">전체</option>
-              <option v-for="year in remainingYears" :key="year" :value="year" v-if="year !== currentYear">
-                {{ year }}년
-              </option>
-            </select>
+        <div class="search-wrap mb10">
+          <div class="input-group d-flex justify-end">
             <select name="" id="" class="form-select sm">
-              <option :value="currentMonth">{{ currentMonth }}월</option>
-              <option value="all">전체</option>
-              <option v-for="month in remainingMonths" :key="month" :value="month" v-if="month !== currentMonth">
-                {{ month }}월
-              </option>
+                <option :value="currentYear">{{ currentYear }}년</option>
+                <option value="all">전체</option>
+                <option v-for="year in remainingYears" :key="year" :value="year" v-if="year !== currentYear">
+                  {{ year }}년
+                </option>
+              </select>
+              <select name="" id="" class="form-select sm">
+                <option :value="currentMonth">{{ currentMonth }}월</option>
+                <option value="all">전체</option>
+                <option v-for="month in remainingMonths" :key="month" :value="month" v-if="month !== currentMonth">
+                  {{ month }}월
+                </option>
+              </select>
+            <select name="" id="" class="form-select sm">
+                  <option value="">전체</option>
+                  <option value="">지각</option>
+                  <option value="">조기퇴근</option>
+                  <option value="">결근</option>
+                  <option value="">출장</option>
+                  <option value="">대체휴가</option>
+                  <option value="">휴가</option>
+                  <option value="">공가</option>
+                  <option value="">병가</option>
             </select>
-          <select name="" id="" class="form-select sm">
-                <option value="">전체</option>
-                <option value="">지각</option>
-                <option value="">조기퇴근</option>
-                <option value="">결근</option>
-                <option value="">출장</option>
-                <option value="">대체휴가</option>
-                <option value="">휴가</option>
-                <option value="">공가</option>
-                <option value="">병가</option>
-          </select>
+          </div>
+        </div>
+        <div class="tbl-wrap mb10">
+          <table class="tbl data">
+            <tbody>
+              <tr>
+                <th rowspan="2">근태 현황</th>
+                <th>지각</th>
+                <th>조기퇴근</th>
+                <th>결근</th>
+                <th>출장</th>
+                <th>주말출근</th>
+              </tr>
+              <tr>
+                <td>{{ late }}</td>
+                <td>{{ earlyLeave }}</td>
+                <td>{{ absence }}</td>
+                <td>{{ businessTrip }}</td>
+                <td>{{ weekendWork }}</td>
+              </tr>
+            </tbody>
+
+          </table>
+        </div>
+        <div class="tbl-wrap mb10">
+          <table class="tbl data">
+            <tbody>
+              <tr>
+                <th rowspan="2">휴가 현황</th>
+                <th>연차</th>
+                <th>대체휴가</th>
+                <th>공가</th>
+                <th>병가</th>
+              </tr>
+              <tr>
+                <td></td>
+                <td></td>
+                <td></td>
+                <td></td>
+              </tr>
+            </tbody>
+          </table>
+        </div>
+        <div class="tbl-wrap">
+          <table id="myTable" class="tbl data">
+            <thead>
+              <tr>
+                <th>연차 </th>
+                <th>내용</th>
+              </tr>
+            </thead>
+            <!-- 동적으로 <td> 생성 -->
+            <tbody>
+              <tr v-for="(item, index) in listData" :key="index">
+                <td>{{ item.type }}</td>
+                <td>{{ item.content }}</td>
+              </tr>
+            </tbody>
+          </table>
+
         </div>
       </div>
-      <div class="tbl-wrap">
-        <table class="tbl data">
-          <tbody>
-            <tr>
-              <th rowspan="2">근태 현황</th>
-              <th>지각</th>
-              <th>조기퇴근</th>
-              <th>결근</th>
-              <th>출장</th>
-              <th>주말출근</th>
-            </tr>
-            <tr>
-              <td>{{ late }}</td>
-              <td>{{ earlyLeave }}</td>
-              <td>{{ absence }}</td>
-              <td>{{ businessTrip }}</td>
-              <td>{{ weekendWork }}</td>
-            </tr>
-          </tbody>
-
-        </table>
-      </div>
-      <div class="tbl-wrap">
-        <table class="tbl data">
-          <tbody>
-            <tr>
-              <th rowspan="2">휴가 현황</th>
-              <th>연차</th>
-              <th>대체휴가</th>
-              <th>공가</th>
-              <th>병가</th>
-            </tr>
-            <tr>
-              <td></td>
-              <td></td>
-              <td></td>
-              <td></td>
-            </tr>
-          </tbody>
-        </table>
-      </div>
-      <div class="tbl-wrap">
-        <table id="myTable" class="tbl data">
-          <thead>
-            <tr>
-              <th>연차 </th>
-              <th>내용</th>
-            </tr>
-          </thead>
-          <!-- 동적으로 <td> 생성 -->
-          <tbody>
-            <tr v-for="(item, index) in listData" :key="index">
-              <td>{{ item.type }}</td>
-              <td>{{ item.content }}</td>
-            </tr>
-          </tbody>
-        </table>
-
-      </div>
-      <div class="pagination">
-        <ul>
-          <!-- 왼쪽 화살표 (이전 페이지) -->
-          <li class="arrow" :class="{ disabled: currentPage === 1 }" @click="changePage(currentPage - 1)">
-            &lt;
-          </li>
-
-          <!-- 페이지 번호 -->
-          <li v-for="page in totalPages" :key="page" :class="{ active: currentPage === page }"
-            @click="changePage(page)">
-            {{ page }}
-          </li>
-
-          <!-- 오른쪽 화살표 (다음 페이지) -->
-          <li class="arrow" :class="{ disabled: currentPage === totalPages }" @click="changePage(currentPage + 1)">
-            &gt;
-          </li>
-        </ul>
-      </div>
-
     </div>
   </div>
+  <Pagination />
 </template>
 
 <script>
-import { SearchOutlined } from '@ant-design/icons-vue';
+import Pagination from '../../../component/Pagination.vue';
 const currentYear = new Date().getFullYear();
 const currentMonth = new Date().getMonth() + 1;
 export default {
@@ -200,7 +181,7 @@
     };
   },
   components: {
-    SearchOutlined
+    Pagination
   },
   computed: {
   },
client/views/pages/Manager/attendance/BsrpInsert.vue
--- client/views/pages/Manager/attendance/BsrpInsert.vue
+++ client/views/pages/Manager/attendance/BsrpInsert.vue
@@ -2,137 +2,139 @@
   <div class="card">
     <div class="card-body">
       <h2 class="card-title">출장 신청</h2>
-      <p class="require">* 필수입력</p>
-      <div class="tbl-wrap">
-        <table class="tbl data">
-          <tbody>
-            <tr>
-              <th>출장구분 *</th>
-              <td>
-                <select class="form-select sm" style="width: 110px;" v-model="bsrpInfo.bsrpSe">
-                  <option v-for="(item, idx) of bsrpCodes" :key="idx" :value="item.code"> {{ item.codeNm }} </option>
-                </select>
-              </td>
-              <th>일수</th>
-              <td>
-                <input type="text" class="form-control sm" v-model="totalDays" readonly />
-              </td>
-            </tr>
-            <tr>
-              <th>출장지 *</th>
-              <td>
-                <input type="text" class="form-control sm" v-model="bsrpInfo.bsrpPlace" />
-              </td>
-              <th>출장목적 *</th>
-              <td>
-                <input type="text" class="form-control sm" v-model="bsrpInfo.bsrpPurps" />
-              </td>
-            </tr>
-            <tr>
-              <th>출장기간 *</th>
-              <td colspan="3">
-                <div class="d-flex">
-                  <div class="d-flex gap-1 mb-1">
-                    <input type="date" class="form-control sm" v-model="bsrpInfo.bgnde" />
-                    <input type="text" class="form-control sm" style="width: 100px;" placeholder="시" v-model="bsrpInfo.beginHour" maxlength="2" @input="validateHour('beginHour', $event)" />
-                    <input type="text" class="form-control sm" style="width: 100px;" placeholder="분" v-model="bsrpInfo.beginMnt" maxlength="2" @input="validateMinute('beginMnt', $event)" />
+      <div>
+        <p class="require">* 필수입력</p>
+        <div class="tbl-wrap">
+          <table class="tbl data">
+            <tbody>
+              <tr>
+                <th>출장구분 *</th>
+                <td>
+                  <select class="form-select sm" style="width: 110px;" v-model="bsrpInfo.bsrpSe">
+                    <option v-for="(item, idx) of bsrpCodes" :key="idx" :value="item.code"> {{ item.codeNm }} </option>
+                  </select>
+                </td>
+                <th>일수</th>
+                <td>
+                  <input type="text" class="form-control sm" v-model="totalDays" readonly />
+                </td>
+              </tr>
+              <tr>
+                <th>출장지 *</th>
+                <td>
+                  <input type="text" class="form-control sm" v-model="bsrpInfo.bsrpPlace" />
+                </td>
+                <th>출장목적 *</th>
+                <td>
+                  <input type="text" class="form-control sm" v-model="bsrpInfo.bsrpPurps" />
+                </td>
+              </tr>
+              <tr>
+                <th>출장기간 *</th>
+                <td colspan="3">
+                  <div class="d-flex">
+                    <div class="d-flex gap-1 mb-1">
+                      <input type="date" class="form-control sm" v-model="bsrpInfo.bgnde" />
+                      <input type="text" class="form-control sm" style="width: 100px;" placeholder="시" v-model="bsrpInfo.beginHour" maxlength="2" @input="validateHour('beginHour', $event)" />
+                      <input type="text" class="form-control sm" style="width: 100px;" placeholder="분" v-model="bsrpInfo.beginMnt" maxlength="2" @input="validateMinute('beginMnt', $event)" />
+                    </div>
+                    <div class="d-flex gap-1">
+                      <input type="date" class="form-control sm" v-model="bsrpInfo.endde" />
+                      <input type="text" class="form-control sm" style="width: 100px;" placeholder="시" v-model="bsrpInfo.endHour" maxlength="2" @input="validateHour('endHour', $event)" />
+                      <input type="text" class="form-control sm" style="width: 100px;" placeholder="분" v-model="bsrpInfo.endMnt" maxlength="2" @input="validateMinute('endMnt', $event)" />
+                    </div>
                   </div>
-                  <div class="d-flex gap-1">
-                    <input type="date" class="form-control sm" v-model="bsrpInfo.endde" />
-                    <input type="text" class="form-control sm" style="width: 100px;" placeholder="시" v-model="bsrpInfo.endHour" maxlength="2" @input="validateHour('endHour', $event)" />
-                    <input type="text" class="form-control sm" style="width: 100px;" placeholder="분" v-model="bsrpInfo.endMnt" maxlength="2" @input="validateMinute('endMnt', $event)" />
+                </td>
+              </tr>
+              <tr>
+                <th>동행자</th>
+                <td>
+                  <button type="button" title="추가" @click="isOpenNmprModal = true">
+                    <PlusCircleFilled />
+                  </button>
+                  <HrPopup v-if="isOpenNmprModal" :selectedEmployees="bsrpInfo.bsrpNmprList" idField="triperId" :dateInfo="bsrpInfo" @select="handleCompanionAdd" @close="isOpenNmprModal = false" />
+                  <div class="approval-container">
+                    <div v-for="(item, idx) of bsrpInfo.bsrpNmprList" :key="idx" class="d-flex addapproval">
+                      <div class="d-flex align-items-center border-x">
+                        <p>{{ item.triperNm }} {{ item.clsfNm }}</p>
+                        <button type="button" @click="handleCompanionRemove(idx)" @mousedown.stop>
+                          <CloseOutlined />
+                        </button>
+                      </div>
+                    </div>
                   </div>
-                </div>
-              </td>
-            </tr>
-            <tr>
-              <th>동행자</th>
-              <td>
-                <button type="button" title="추가" @click="isOpenNmprModal = true">
-                  <PlusCircleFilled />
-                </button>
-                <HrPopup v-if="isOpenNmprModal" :selectedEmployees="bsrpInfo.bsrpNmprList" idField="triperId" :dateInfo="bsrpInfo" @select="handleCompanionAdd" @close="isOpenNmprModal = false" />
-                <div class="approval-container">
-                  <div v-for="(item, idx) of bsrpInfo.bsrpNmprList" :key="idx" class="d-flex addapproval">
-                    <div class="d-flex align-items-center border-x">
-                      <p>{{ item.triperNm }} {{ item.clsfNm }}</p>
-                      <button type="button" @click="handleCompanionRemove(idx)" @mousedown.stop>
+                </td>
+                <th>승인자 *</th>
+                <td>
+                  <button type="button" title="추가" @click="isOpenSanctnModal = true">
+                    <PlusCircleFilled />
+                  </button>
+                  <HrPopup v-if="isOpenSanctnModal" :selectedEmployees="bsrpCnsul.sanctnList" idField="confmerId" @select="handleApproverAdd" @close="isOpenSanctnModal = false" />
+                  <div class="approval-container">
+                    <SanctnList v-model:lists="bsrpCnsul.sanctnList" @delSanctn="handleApproverRemove" />
+                  </div>
+                </td>
+              </tr>
+              <tr>
+                <th>품의내용 *</th>
+                <td colspan="3" style="height: calc(100% - 550px);">
+                  <EditorComponent v-model:contents="bsrpCnsul.cn" />
+                </td>
+              </tr>
+              <tr>
+                <th>법인카드</th>
+                <td>
+                  <button type="button" title="추가" @click="isOpenCardModal = true">
+                    <PlusCircleFilled />
+                  </button>
+                  <CorpCardPopup v-if="isOpenCardModal" :bsrpInfo="bsrpInfo" :lists="cards" @close="isOpenCardModal = false" @onSelected="handleCardAdd" />
+                  <div class="approval-container">
+                    <div v-for="(card, idx) in cards" :key="idx" class="d-flex gap-2 addapproval mb-2">
+                      <form class="d-flex align-items-center border-x">
+                        <p>{{ card.cardNm }}</p>
+                        <button type="button" @click="handleCardRemove(idx)" class="delete-button">
+                          <CloseOutlined />
+                        </button>
+                      </form>
+                    </div>
+                  </div>
+                </td>
+                <th>법인차량</th>
+                <td>
+                  <button type="button" title="추가" @click="isOpenVhcleModal = true">
+                    <PlusCircleFilled />
+                  </button>
+                  <CorpCarPopup v-if="isOpenVhcleModal" :bsrpInfo="bsrpInfo" :lists="vhcles" @close="isOpenVhcleModal = false" @onSelected="handleVehicleAdd" />
+                  <div class="approval-container">
+                    <div v-for="(vhcle, idx) in vhcles" :key="idx" class="d-flex gap-2 addapproval mb-2">
+                      <p>{{ vhcle.vhcleNm }}</p>
+                      <select class="form-select" v-model="vhcle.drverId">
+                        <option value="" disabled hidden>운전자 선택</option>
+                        <option :value="userInfo.userId">{{ userInfo.userNm }}</option>
+                        <option v-for="(item, idx) of bsrpInfo.bsrpNmprList" :key="idx" :value="item.userId"> {{ item.userNm }} </option>
+                      </select>
+                      <button type="button" @click="handleVehicleRemove(idx)" class="delete-button">
                         <CloseOutlined />
                       </button>
                     </div>
                   </div>
-                </div>
-              </td>
-              <th>승인자 *</th>
-              <td>
-                <button type="button" title="추가" @click="isOpenSanctnModal = true">
-                  <PlusCircleFilled />
-                </button>
-                <HrPopup v-if="isOpenSanctnModal" :selectedEmployees="bsrpCnsul.sanctnList" idField="confmerId" @select="handleApproverAdd" @close="isOpenSanctnModal = false" />
-                <div class="approval-container">
-                  <SanctnList v-model:lists="bsrpCnsul.sanctnList" @delSanctn="handleApproverRemove" />
-                </div>
-              </td>
-            </tr>
-            <tr>
-              <th>품의내용 *</th>
-              <td colspan="3" style="height: calc(100% - 550px);">
-                <EditorComponent v-model:contents="bsrpCnsul.cn" />
-              </td>
-            </tr>
-            <tr>
-              <th>법인카드</th>
-              <td>
-                <button type="button" title="추가" @click="isOpenCardModal = true">
-                  <PlusCircleFilled />
-                </button>
-                <CorpCardPopup v-if="isOpenCardModal" :bsrpInfo="bsrpInfo" :lists="cards" @close="isOpenCardModal = false" @onSelected="handleCardAdd" />
-                <div class="approval-container">
-                  <div v-for="(card, idx) in cards" :key="idx" class="d-flex gap-2 addapproval mb-2">
-                    <form class="d-flex align-items-center border-x">
-                      <p>{{ card.cardNm }}</p>
-                      <button type="button" @click="handleCardRemove(idx)" class="delete-button">
-                        <CloseOutlined />
-                      </button>
-                    </form>
-                  </div>
-                </div>
-              </td>
-              <th>법인차량</th>
-              <td>
-                <button type="button" title="추가" @click="isOpenVhcleModal = true">
-                  <PlusCircleFilled />
-                </button>
-                <CorpCarPopup v-if="isOpenVhcleModal" :bsrpInfo="bsrpInfo" :lists="vhcles" @close="isOpenVhcleModal = false" @onSelected="handleVehicleAdd" />
-                <div class="approval-container">
-                  <div v-for="(vhcle, idx) in vhcles" :key="idx" class="d-flex gap-2 addapproval mb-2">
-                    <p>{{ vhcle.vhcleNm }}</p>
-                    <select class="form-select" v-model="vhcle.drverId">
-                      <option value="" disabled hidden>운전자 선택</option>
-                      <option :value="userInfo.userId">{{ userInfo.userNm }}</option>
-                      <option v-for="(item, idx) of bsrpInfo.bsrpNmprList" :key="idx" :value="item.userId"> {{ item.userNm }} </option>
-                    </select>
-                    <button type="button" @click="handleVehicleRemove(idx)" class="delete-button">
-                      <CloseOutlined />
-                    </button>
-                  </div>
-                </div>
-              </td>
-            </tr>
-          </tbody>
-        </table>
-      </div>
-      <div class="buttons">
-        <button type="button" class="btn sm btn-red" @click="handleLoadLastApprovers">이전 승인자 불러오기</button>
-        <button type="button" class="btn sm primary" v-if="$isEmpty(pageId)" @click="handleSave">신청</button>
-        <template v-else>
-          <button type="button" class="btn sm primary" v-if="isReapplyMode" @click="handleReapply">재신청</button>
-          <button type="button" class="btn sm primary" v-else @click="handleUpdate">수정</button>
-          <button type="button" class="btn sm secondary" @click="handleCancel">취소</button>
-        </template>
+                </td>
+              </tr>
+            </tbody>
+          </table>
+        </div>
       </div>
     </div>
   </div>
+  <div class="d-flex justify-end align-center gap10">
+    <button type="button" class="btn sm btn-red" @click="handleLoadLastApprovers">이전 승인자 불러오기</button>
+    <button type="button" class="btn sm primary" v-if="$isEmpty(pageId)" @click="handleSave">신청</button>
+    <template v-else>
+      <button type="button" class="btn sm primary" v-if="isReapplyMode" @click="handleReapply">재신청</button>
+      <button type="button" class="btn sm primary" v-else @click="handleUpdate">수정</button>
+      <button type="button" class="btn sm secondary" @click="handleCancel">취소</button>
+    </template>
+  </div>
 </template>
 <script>
 import { PlusCircleFilled, CloseOutlined } from '@ant-design/icons-vue';
client/views/pages/Manager/attendance/BsrpList.vue
--- client/views/pages/Manager/attendance/BsrpList.vue
+++ client/views/pages/Manager/attendance/BsrpList.vue
@@ -1,55 +1,54 @@
 <template>
-  <div class="col-lg-12">
+
     <div class="card">
       <div class="card-body">
         <h2 class="card-title">출장 현황</h2>
-        <div class="sch-form-wrap">
-          <div class="input-group">
-            <select class="form-select" v-model="searchParams.year" @change="handleSearchChange">
+        <div>
+          <div class="search-wrap mb30">
+            <select class="form-select sm" v-model="searchParams.year" @change="handleSearchChange">
               <option value="">연도 전체</option>
               <option v-for="year in yearOptions" :key="year" :value="year">{{ year }}년</option>
             </select>
-            <select class="form-select" v-model="searchParams.month" @change="handleSearchChange">
+            <select class="form-select sm" v-model="searchParams.month" @change="handleSearchChange">
               <option value="">월 전체</option>
               <option v-for="month in monthOptions" :key="month" :value="month">{{ month }}월</option>
             </select>
           </div>
-        </div>
-        <div class="tbl-wrap">
-          <table id="myTable" class="tbl data">
-            <thead>
-              <tr>
-                <th>출장구분</th>
-                <th>출장지</th>
-                <th>목적</th>
-                <th>출장기간</th>
-                <th>품의서 상태</th>
-                <th>복명서 등록 여부</th>
-                <th>복명서 상태</th>
-              </tr>
-            </thead>
-            <tbody>
-              <template v-if="hasBusinessTrips">
-                <tr v-for="(item, idx) in businessTripList" :key="`${item.bsrpId}-${idx}`" @click="handleItemClick(item.bsrpId)">
-                  <td>{{ item.bsrpSeNm }}</td>
-                  <td>{{ item.bsrpPlace }}</td>
-                  <td>{{ item.bsrpPurps }}</td>
-                  <td>{{ $formattedDates(item) }}</td>
-                  <td>{{ item.cnsulConfmAtNm }}</td>
-                  <td>{{ getReportRegistrationStatus(item.hasRport) }}</td>
-                  <td>{{ getReportStatus(item) }}</td>
+          <div class="tbl-wrap">
+            <table class="tbl data">
+              <thead>
+                <tr>
+                  <th>출장구분</th>
+                  <th>출장지</th>
+                  <th>목적</th>
+                  <th>출장기간</th>
+                  <th>품의서 상태</th>
+                  <th>복명서 등록 여부</th>
+                  <th>복명서 상태</th>
                 </tr>
-              </template>
-              <tr v-else>
-                <td colspan="7">게시물이 존재하지 않습니다.</td>
-              </tr>
-            </tbody>
-          </table>
+              </thead>
+              <tbody>
+                <template v-if="hasBusinessTrips">
+                  <tr v-for="(item, idx) in businessTripList" :key="`${item.bsrpId}-${idx}`" @click="handleItemClick(item.bsrpId)">
+                    <td>{{ item.bsrpSeNm }}</td>
+                    <td>{{ item.bsrpPlace }}</td>
+                    <td>{{ item.bsrpPurps }}</td>
+                    <td>{{ $formattedDates(item) }}</td>
+                    <td>{{ item.cnsulConfmAtNm }}</td>
+                    <td>{{ getReportRegistrationStatus(item.hasRport) }}</td>
+                    <td>{{ getReportStatus(item) }}</td>
+                  </tr>
+                </template>
+                <tr v-else>
+                  <td colspan="7">게시물이 존재하지 않습니다.</td>
+                </tr>
+              </tbody>
+            </table>
+          </div>
         </div>
-        <Pagination :search="searchParams" @onChange="handlePageChange" />
       </div>
     </div>
-  </div>
+    <Pagination :search="searchParams" @onChange="handlePageChange" />
 </template>
 <script>
 // API
client/views/pages/Manager/attendance/VcatnInsert.vue
--- client/views/pages/Manager/attendance/VcatnInsert.vue
+++ client/views/pages/Manager/attendance/VcatnInsert.vue
@@ -2,7 +2,8 @@
   <div class="card">
     <div class="card-body">
       <h2 class="card-title">휴가 신청</h2>
-      <p class="require">* 필수입력</p>
+      <div>
+              <p class="require">* 필수입력</p>
       <div class="tbl-wrap">
         <table class="tbl data">
           <tbody>
@@ -65,7 +66,10 @@
           </tbody>
         </table>
       </div>
-      <div class="buttons">
+      </div>
+    </div>
+  </div>
+  <div class="d-flex justify-end align-center gap10">
         <button type="button" class="btn sm btn-red" @click="handleLoadLastApprovers">이전 승인자 불러오기</button>
         <button type="button" class="btn sm primary" v-if="$isEmpty(pageId)" @click="handleSave">신청</button>
         <template v-else>
@@ -73,8 +77,6 @@
           <button type="button" class="btn sm primary" v-else @click="handleUpdate">수정</button>
           <button type="button" class="btn sm secondary" @click="handleCancel">취소</button>
         </template>
-      </div>
-    </div>
   </div>
 </template>
 <script>
client/views/pages/Manager/attendance/VcatnList.vue
--- client/views/pages/Manager/attendance/VcatnList.vue
+++ client/views/pages/Manager/attendance/VcatnList.vue
@@ -1,77 +1,73 @@
 <template>
-  <div class="col-lg-12">
     <div class="card">
       <div class="card-body">
         <h2 class="card-title">휴가 현황</h2>
-        <div class="form-group">
-          <div class="form-conts">
-            <div class="form-conts datepicker-conts">
-              <div class="datepicker-input">
-                <input type="date" class="form-control datepicker cal" v-model="searchParams.bgnde" style="max-width: 200px;" @change="handleSearchChange" />
-                <mark>~</mark>
-                <input type="date" class="form-control datepicker cal" v-model="searchParams.endde" style="max-width: 200px;" @change="handleSearchChange" />
+        <div>
+          <div class="search-wrap mb30">
+                <div class="datepicker-input gap10">
+                  <input type="date" class="form-control datepicker cal sm" v-model="searchParams.bgnde" style="max-width: 200px;" @change="handleSearchChange" />
+                  <span>~</span>
+                  <input type="date" class="form-control datepicker cal sm" v-model="searchParams.endde" style="max-width: 200px;" @change="handleSearchChange" />
+                </div>
+          </div>
+          <div class="boxs mb20">
+            <div class="color-boxs grid-wrap" style="grid-template-columns: repeat(6,1fr);">
+              <div class="box">
+                <h3>전체</h3>
+                <div>
+                  <span @click="handleFilterChange()">{{ totalDays }}</span>
+                  <small @click="handleExcessReqst(usedLeaveItem.code)">({{ carriedOverDays }})</small>
+                </div>
+              </div>
+              <div class="box" @click="handleFilterChange(usedLeaveItem.code)">
+                <h3>사용</h3>
+                <div>{{ usedLeaveItem.userSpendCnt }}</div>
+              </div>
+              <div class="box">
+                <h3>미사용</h3>
+                <div>{{ remainingDays }}</div>
+              </div>
+              <div class="box" v-for="(item, idx) of otherItems" :key="idx" @click="handleFilterChange(item.code)">
+                <h3>{{ item.codeNm }}</h3>
+                <div>{{ item.userSpendCnt }}</div>
               </div>
             </div>
           </div>
-        </div>
-        <div class="boxs">
-          <div class="color-boxs">
-            <div class="box">
-              <h3>전체</h3>
-              <div>
-                <span @click="handleFilterChange()">{{ totalDays }}</span>
-                <small @click="handleExcessReqst(usedLeaveItem.code)">({{ carriedOverDays }})</small>
-              </div>
-            </div>
-            <div class="box" @click="handleFilterChange(usedLeaveItem.code)">
-              <h3>사용</h3>
-              <div>{{ usedLeaveItem.userSpendCnt }}</div>
-            </div>
-            <div class="box">
-              <h3>미사용</h3>
-              <div>{{ remainingDays }}</div>
-            </div>
-            <div class="box" v-for="(item, idx) of otherItems" :key="idx" @click="handleFilterChange(item.code)">
-              <h3>{{ item.codeNm }}</h3>
-              <div>{{ item.userSpendCnt }}</div>
-            </div>
-          </div>
-        </div>
-        <div class="tbl-wrap">
-          <table id="myTable" class="tbl data">
-            <colgroup>
-              <col style="width: 15%;">
-              <col style="width: 40%;">
-              <col style="width: 30%;">
-              <col style="width: 15%;">
-            </colgroup>
-            <thead>
-              <tr>
-                <th>구분</th>
-                <th>기간</th>
-                <th>신청일</th>
-                <th>상태</th>
-              </tr>
-            </thead>
-            <tbody>
-              <template v-if="hasVacations">
-                <tr v-for="(item, idx) in vacationList" :key="`${item.vcatnId}-${idx}`" @click="handleItemClick(item.vcatnId)">
-                  <td>{{ item.vcatnKndNm }}</td>
-                  <td>{{ $formattedDates(item) }}</td>
-                  <td>{{ item.rgsde }}</td>
-                  <td>{{ item.confmAtNm }}</td>
+          <div class="tbl-wrap">
+            <table id="myTable" class="tbl data">
+              <colgroup>
+                <col style="width: 15%;">
+                <col style="width: 40%;">
+                <col style="width: 30%;">
+                <col style="width: 15%;">
+              </colgroup>
+              <thead>
+                <tr>
+                  <th>구분</th>
+                  <th>기간</th>
+                  <th>신청일</th>
+                  <th>상태</th>
                 </tr>
-              </template>
-              <tr v-else>
-                <td colspan="4">해당 기간 내 등록된 휴가가 없습니다.</td>
-              </tr>
-            </tbody>
-          </table>
+              </thead>
+              <tbody>
+                <template v-if="hasVacations">
+                  <tr v-for="(item, idx) in vacationList" :key="`${item.vcatnId}-${idx}`" @click="handleItemClick(item.vcatnId)">
+                    <td>{{ item.vcatnKndNm }}</td>
+                    <td>{{ $formattedDates(item) }}</td>
+                    <td>{{ item.rgsde }}</td>
+                    <td>{{ item.confmAtNm }}</td>
+                  </tr>
+                </template>
+                <tr v-else>
+                  <td colspan="4">해당 기간 내 등록된 휴가가 없습니다.</td>
+                </tr>
+              </tbody>
+            </table>
+          </div>
         </div>
-        <Pagination :search="searchParams" @onChange="handlePageChange" />
       </div>
     </div>
-  </div>
+    <Pagination :search="searchParams" @onChange="handlePageChange" />
 </template>
 <script>
 // API
client/views/pages/Manager/attendance/buseoAttendance.vue
--- client/views/pages/Manager/attendance/buseoAttendance.vue
+++ client/views/pages/Manager/attendance/buseoAttendance.vue
@@ -1,114 +1,79 @@
 <template>
-<div class="col-lg-12">
   <div class="card">
     <div class="card-body">
       <h2 class="card-title">부서별 근태현황</h2>
-      <div class="sch-form-wrap">
-        <div class="input-group">
-          <select name="" id="" class="form-select">
-              <option :value="currentYear">{{ currentYear }}년</option>
-              <option value="all">전체</option>
-              <option v-for="year in remainingYears" :key="year" :value="year" v-if="year !== currentYear">
-                {{ year }}년
-              </option>
+      <div>
+        <div class="search-wrap mb30">
+            <select name="" id="" class="form-select sm">
+                <option :value="currentYear">{{ currentYear }}년</option>
+                <option value="all">전체</option>
+                <option v-for="year in remainingYears" :key="year" :value="year" v-if="year !== currentYear">
+                  {{ year }}년
+                </option>
+              </select>
+              <select name="" id="" class="form-select sm">
+                <option :value="currentMonth">{{ currentMonth }}월</option>
+                <option value="all">전체</option>
+                <option v-for="month in remainingMonths" :key="month" :value="month" v-if="month !== currentMonth">
+                  {{ month }}월
+                </option>
+              </select>
+            <select name="" id="" class="form-select sm">
+              <option value="">구분</option>
             </select>
-            <select name="" id="" class="form-select">
-              <option :value="currentMonth">{{ currentMonth }}월</option>
-              <option value="all">전체</option>
-              <option v-for="month in remainingMonths" :key="month" :value="month" v-if="month !== currentMonth">
-                {{ month }}월
-              </option>
-            </select>
-          <select name="" id="" class="form-select">
-          <option value="">구분</option>
-        </select>
-        <div class="sch-input">
-              <input type="text" class="form-control" placeholder="직원명">
-              <button class="ico-sch"><SearchOutlined /></button>
-            </div>
+            <input type="text" class="form-control sm" placeholder="직원명">
+            <button class="btn-ico sm ico-sch"></button>
+        </div>
+
+        <!-- Table  -->
+        <div class="tbl-wrap">
+          <table id="myTable" class="tbl data buseo">
+            <!-- 동적으로 <th> 생성 -->
+            <thead>
+              <tr>
+                <th>부서 </th>
+                <th>직급</th>
+                <th>이름</th>
+                <th>지각</th>
+                <th>조기퇴근</th>
+                <th>결근</th>
+                <th>출장</th>
+                <th>주말출근</th>
+                <th>대체휴가</th>
+                <th>휴가</th>
+                <th>공가</th>
+                <th>병가</th>
+              </tr>
+            </thead>
+            <!-- 동적으로 <td> 생성 -->
+            <tbody>
+              <tr v-for="(item, index) in listData" :key="index"  @click="goToAttendancePage(item)">
+                <td>{{ item.department }}</td>
+      <td>{{ item.position }}</td>
+      <td>{{ item.name }}</td>
+      <td>{{ item.late }}</td>
+      <td>{{ item.earlyLeave }}</td>
+      <td>{{ item.absence }}</td>
+      <td>{{ item.businessTrip }}</td>
+      <td>{{ item.weekendWork }}</td>
+      <td>{{ item.substituteHoliday }}</td>
+      <td>{{ item.vacation }}</td>
+      <td>{{ item.publicHoliday }}</td>
+      <td>{{ item.sickLeave }}</td>
+    </tr>
+            </tbody>
+          </table>
+
         </div>
       </div>
-
-      <!-- Table  -->
-      <div class="tbl-wrap">
-        <table id="myTable" class="tbl data buseo">
-          <!-- 동적으로 <th> 생성 -->
-          <thead>
-            <tr>
-              <th>부서 </th>
-              <th>직급</th>
-              <th>이름</th>
-              <th>지각</th>
-              <th>조기퇴근</th>
-              <th>결근</th>
-              <th>출장</th>
-              <th>주말출근</th>
-              <th>대체휴가</th>
-              <th>휴가</th>
-              <th>공가</th>
-              <th>병가</th>
-            </tr>
-          </thead>
-          <!-- 동적으로 <td> 생성 -->
-          <tbody>
-            <tr v-for="(item, index) in listData" :key="index"  @click="goToAttendancePage(item)">
-              <td>{{ item.department }}</td>
-    <td>{{ item.position }}</td>
-    <td>{{ item.name }}</td>
-    <td>{{ item.late }}</td>
-    <td>{{ item.earlyLeave }}</td>
-    <td>{{ item.absence }}</td>
-    <td>{{ item.businessTrip }}</td>
-    <td>{{ item.weekendWork }}</td>
-    <td>{{ item.substituteHoliday }}</td>
-    <td>{{ item.vacation }}</td>
-    <td>{{ item.publicHoliday }}</td>
-    <td>{{ item.sickLeave }}</td>
-  </tr>
-          </tbody>
-        </table>
-
-      </div>
-      <div class="pagination">
-        <ul>
-      <!-- 왼쪽 화살표 (이전 페이지) -->
-      <li
-        class="arrow"
-        :class="{ disabled: currentPage === 1 }"
-        @click="changePage(currentPage - 1)"
-      >
-      &lt;
-      </li>
-
-      <!-- 페이지 번호 -->
-      <li
-        v-for="page in totalPages"
-        :key="page"
-        :class="{ active: currentPage === page }"
-        @click="changePage(page)"
-      >
-        {{ page }}
-      </li>
-
-      <!-- 오른쪽 화살표 (다음 페이지) -->
-      <li
-        class="arrow"
-        :class="{ disabled: currentPage === totalPages }"
-        @click="changePage(currentPage + 1)"
-      >
-      &gt;
-      </li>
-    </ul>
-  </div>
-
     </div>
   </div>
-</div>
+  <Pagination />
 </template>
 
 <script>
-import { ref } from 'vue';
-import { SearchOutlined } from '@ant-design/icons-vue';
+import Pagination from '../../../component/Pagination.vue';
+
 const currentYear = new Date().getFullYear();
 const currentMonth = new Date().getMonth() + 1;
 export default {
@@ -164,7 +129,7 @@
     };
   },
   components:{
-    SearchOutlined
+    Pagination
   },
   computed: {
   },
client/views/pages/Manager/attendance/myAttendance.vue
--- client/views/pages/Manager/attendance/myAttendance.vue
+++ client/views/pages/Manager/attendance/myAttendance.vue
@@ -1,133 +1,115 @@
 <template>
-<div class="card ">
-      <div class="card-body">
-          <h2 class="card-title">나의 근태현황</h2>
-          <div class="sch-wrap">
-            <div class="sch-form-wrap title-wrap">
-            <div class="flex">
-              <div class="sub flex"><img :src="dateicon" alt=""><p class="date">{{ today }}</p></div>
-              <div class="buttons">
-                            <button @click="handleStartClick"><img :src="startbtn" alt=""></button>
-                            <button @click="handleEndClick"><img :src="stopbtn" alt=""></button>
-                        </div>
-            </div>
-            <div class="input-group">
-              <select name="" id="" class="form-select">
-              <option :value="currentYear">{{ currentYear }}년</option>
-              <option value="all">전체</option>
-              <option v-for="year in remainingYears" :key="year" :value="year" v-if="year !== currentYear">
-                {{ year }}년
-              </option>
-            </select>
-            <select name="" id="" class="form-select">
-              <option :value="currentMonth">{{ currentMonth }}월</option>
-              <option value="all">전체</option>
-              <option v-for="month in remainingMonths" :key="month" :value="month" v-if="month !== currentMonth">
-                {{ month }}월
-              </option>
-            </select>
-              <select name="" id="" class="form-select">
-                <option value="">전체</option>
-                <option value="">지각</option>
-                <option value="">조기퇴근</option>
-                <option value="">결근</option>
-                <option value="">출장</option>
-                <option value="">대체휴가</option>
-                <option value="">휴가</option>
-                <option value="">공가</option>
-                <option value="">병가</option>
-              </select>
-            </div>
-  
+  <div class="card ">
+    <div class="card-body">
+        <h2 class="card-title">나의 근태현황</h2>
+        <div>
+            <div class="d-flex justify-between align-center search-zone mb30">
+              <div class="d-flex align-center gap30">
+                <div class="d-flex align-center left-icon"><span style="font-weight: 700;">{{ today }}</span></div>
+                <div class="d-flex align-center gap10">
+                    <button @click="handleStartClick"><img :src="startbtn" alt=""></button>
+                    <button @click="handleEndClick"><img :src="stopbtn" alt=""></button>
+                </div>
+              </div>
+              <div class="d-flex align-center gap10">
+                <select name="" id="" class="form-select sm" style="width: 150px;">
+                    <option :value="currentYear">{{ currentYear }}년</option>
+                    <option value="all">전체</option>
+                    <option v-for="year in remainingYears" :key="year" :value="year" v-if="year !== currentYear">
+                      {{ year }}년
+                    </option>
+                </select>
+                <select name="" id="" class="form-select sm" style="width: 150px;">
+                  <option :value="currentMonth">{{ currentMonth }}월</option>
+                  <option value="all">전체</option>
+                  <option v-for="month in remainingMonths" :key="month" :value="month" v-if="month !== currentMonth">
+                    {{ month }}월
+                  </option>
+                </select>
+                <select name="" id="" class="form-select sm" style="width: 150px;">
+                  <option value="">전체</option>
+                  <option value="">지각</option>
+                  <option value="">조기퇴근</option>
+                  <option value="">결근</option>
+                  <option value="">출장</option>
+                  <option value="">대체휴가</option>
+                  <option value="">휴가</option>
+                  <option value="">공가</option>
+                  <option value="">병가</option>
+                </select>
+              </div>
           </div>
-          </div>
-        <div class="tbl-wrap">
-         <table class="tbl data mb30">
-          <tbody>
-            <tr>
-              <th rowspan="2" style="width: 200px;">근태 현황</th>
-              <th>지각</th>
-              <th>조기퇴근</th>
-              <th>결근</th>
-              <th>출장</th>
-              <th>주말출근</th>
-            </tr>
-            <tr>
-              <td>{{ late }}</td>
-              <td>{{ earlyLeave }}</td>
-              <td>{{ absence }}</td>
-              <td>{{ businessTrip }}</td>
-              <td>{{ weekendWork }}</td>
-            </tr>
-          </tbody>
-         </table>
-         <table class="tbl data mb30">
-          <tbody>
-            <tr>
-              <th rowspan="2" style="width: 200px;">휴가 현황</th>
-              <th>연차</th>
-              <th>대체휴가</th>
-              <th>공가</th>
-              <th>병가</th>
-            </tr>
-            <tr>
-              <td></td>
-              <td></td>
-              <td></td>
-              <td></td>
-            </tr>
-          </tbody>
 
-         </table>
+          <div class="tbl-wrap mb30">
+            <table class="tbl data">
+              <tbody>
+                <tr>
+                  <th rowspan="2" style="width: 200px; border-radius: 1rem 0 0 1rem;">근태 현황</th>
+                  <th>지각</th>
+                  <th>조기퇴근</th>
+                  <th>결근</th>
+                  <th>출장</th>
+                  <th style="border-radius: 0 1rem 0 0;">주말출근</th>
+                </tr>
+                <tr>
+                  <td>{{ late }}</td>
+                  <td>{{ earlyLeave }}</td>
+                  <td>{{ absence }}</td>
+                  <td>{{ businessTrip }}</td>
+                  <td style="border-radius: 0 0 1rem 0;">{{ weekendWork }}</td>
+                </tr>
+              </tbody>
+            </table>
+            </div>
+            <div class="tbl-wrap mb30">
+              <table class="tbl data">
+                <tbody>
+                  <tr>
+                    <th rowspan="2" style="width: 200px; border-radius: 1rem 0 0 1rem;">휴가 현황</th>
+                    <th>연차</th>
+                    <th>대체휴가</th>
+                    <th>공가</th>
+                    <th style="border-radius: 0 1rem 0 0;">병가</th>
+                  </tr>
+                  <tr>
+                    <td></td>
+                    <td></td>
+                    <td></td>
+                    <td style="border-radius: 0 0 1rem 0;"></td>
+                  </tr>
+                </tbody>
+              </table>
+            </div>
+            <div class="tbl-wrap">
+              <table class="tbl data">
+                <colgroup>
+                  <col style="width: 200px;">
+                  <col style=" width: "> 
+                </colgroup>
+                <thead>
+                  <tr>
+                    <th>구분 </th>
+                    <th>내용</th>
+                  </tr>
+                </thead>
+                <!-- 동적으로 <td> 생성 -->
+                <tbody>
+                  <tr v-for="(item, index) in listData" :key="index" >
+                    <td>{{ item.type }}</td>
+        <td style="text-align: left !important;">{{ item.content }}</td>
+                  </tr>
+                </tbody>
+              </table>
+
+            </div>
         </div>
-        <div class="tbl-wrap">
-          <table id="myTable" class="tbl data">
-            <colgroup>
-            <col  style="width: 200px;">
-            <col style=" width: "> 
-          </colgroup>
-            <thead>
-              <tr>
-                <th>구분 </th>
-                <th>내용</th>
-              </tr>
-            </thead>
-            <!-- 동적으로 <td> 생성 -->
-            <tbody>
-              <tr v-for="(item, index) in listData" :key="index" >
-                <td>{{ item.type }}</td>
-    <td style="text-align: left !important;">{{ item.content }}</td>
-              </tr>
-            </tbody>
-          </table>
-
-        </div>
-        <div class="pagination">
-          <ul>
-            <!-- 왼쪽 화살표 (이전 페이지) -->
-            <li class="arrow" :class="{ disabled: currentPage === 1 }" @click="changePage(currentPage - 1)">
-              &lt;
-            </li>
-
-            <!-- 페이지 번호 -->
-            <li v-for="page in totalPages" :key="page" :class="{ active: currentPage === page }"
-              @click="changePage(page)">
-              {{ page }}
-            </li>
-
-            <!-- 오른쪽 화살표 (다음 페이지) -->
-            <li class="arrow" :class="{ disabled: currentPage === totalPages }" @click="changePage(currentPage + 1)">
-              &gt;
-            </li>
-          </ul>
-        </div>
-
-      </div>
     </div>
+  </div>
+  <Pagination />
 </template>
 
 <script>
-import { SearchOutlined } from '@ant-design/icons-vue';
+import Pagination from "../../../component/Pagination.vue";
 const currentYear = new Date().getFullYear();
 const currentMonth = new Date().getMonth() + 1;
 export default {
@@ -150,9 +132,8 @@
                 day: '2-digit',
                 weekday: 'short',
             }),
-      dateicon: "/client/resources/img/img.png",
-            startbtn: "/client/resources/img/start-sm.png",
-            stopbtn: "/client/resources/img/stop-sm.png",
+      startbtn: "/client/resources/img/start-sm.png",
+      stopbtn: "/client/resources/img/stop-sm.png",
       startDate: today,
       startTime: "09:00", // 기본 시작 시간 09:00
       endDate: today,
@@ -165,7 +146,7 @@
     };
   },
   components:{
-    SearchOutlined
+    Pagination
   },
   computed: {
     // Pinia Store의 상태를 가져옵니다.
client/views/pages/Manager/task/projectInsert.vue
--- client/views/pages/Manager/task/projectInsert.vue
+++ client/views/pages/Manager/task/projectInsert.vue
@@ -1,148 +1,116 @@
 <template>
   <div class="card">
-
     <div class="card-body">
       <h2 class="card-title">프로젝트 등록</h2>
-      <p class="require"><img :src="require" alt=""> 필수입력</p>
-      <form class="row g-3  needs-validation" @submit.prevent="handleSubmit">
-
-        <div class="col-12">
-          <label for="purpose" class="form-label">
-            <p>구분
-            <p class="require"><img :src="require" alt=""></p>
-            </p>
-          </label>
-          <select class="form-select" style="width: 110px;">
-            <option value=""></option>
-            <option value=""></option>
-            <option value=""></option>
-          </select>
+      <div style="overflow: auto;">
+        <p class="require"><img :src="require" alt=""> 필수입력</p>
+        <div class="tbl-wrap">
+          <table class="tbl data">
+              <tbody>
+                <tr>
+                  <th>구분 <sup>*</sup></th>
+                  <td colspan="3">
+                    <select class="form-select sm" style="width: 110px;">
+                      <option value=""></option>
+                      <option value=""></option>
+                      <option value=""></option>
+                    </select>
+                  </td>
+                </tr>
+                <tr>
+                  <th>프로젝트명 <sup>*</sup></th>
+                  <td colspan="3"><input type="text" class="form-control sm" /></td>
+                </tr>
+                <tr>
+                  <th>주관기관</th>
+                  <td><input type="text" class="form-control sm" /></td>
+                  <th>담당부서 <sup>*</sup></th>
+                  <td class="d-flex gap-2">
+                    <input type="text" class="form-control sm" v-model="selectedDepartment" readonly />
+                    <input type="button" class="form-control sm" value="검색" @click="showPopup = true" />
+                    <BuseoPopup v-if="showPopup" @close="showPopup = false" @select="addBuseo" />
+                  </td>
+                </tr>
+                <tr>
+                  <th>프로젝트 책임자 <sup>*</sup></th>
+                  <td class="d-flex gap-2">
+                    <input type="text" class="form-control sm" v-model="selectedname" readonly />
+                    <input type="button" class="form-control sm" value="검색" @click="showPopup1 = true" />
+                    <HrPopup v-if="showPopup1" @close="showPopup1 = false" @select="addApproval" />
+                  </td>
+                  <th>사업비</th>
+                  <td><input type="text" class="form-control sm" v-model="where" /></td>
+                </tr>
+                <tr>
+                  <th>회의비</th>
+                  <td colspan="3"><input type="text" class="form-control sm" v-model="where" /></td>
+                </tr>
+                <tr>
+                  <th>사업기간 <sup>*</sup></th>
+                  <td colspan="3">
+                    <div class="d-flex gap-1">
+                      <input type="date" class="form-control sm" v-model="startDate" /> ~
+                      <input type="date" class="form-control sm" v-model="endDate" />
+                    </div>
+                  </td>
+                </tr>
+                <tr>
+                  <th>계획기간</th>
+                  <td colspan="3">
+                    <div class="d-flex gap-1">
+                      <input type="date" class="form-control sm" v-model="startDate" /> ~
+                      <input type="date" class="form-control sm" v-model="endDate" />
+                    </div>
+                  </td>
+                </tr>
+                <tr>
+                  <th>실제기간</th>
+                  <td colspan="3">
+                    <div class="d-flex gap-1">
+                      <input type="date" class="form-control sm" v-model="startDate" /> ~
+                      <input type="date" class="form-control sm" v-model="endDate" />
+                    </div>
+                  </td>
+                </tr>
+                <tr>
+                  <th>
+                    투입인력 
+                    <button type="button" title="추가" @click="showPopup2 = true">
+                      <PlusCircleFilled />
+                    </button>
+                    <sup>*</sup>
+                  </th>
+                  <td colspan="3">
+                    <HrPopup v-if="showPopup2" @close="showPopup2 = false" @select="addApproval1"/>
+                    <div class="approval-container">
+                      <div v-for="(member, index) in approvals1" :key="index" class="d-flex gap-2 addapproval mb-2">
+                        <select class="form-select sm" style="width: 110px;" v-model="member.category">
+                          <option value="선택">선택</option>
+                          <option value=""></option>
+                          <option value=""></option>
+                        </select>
+                        <input type="text" class="form-control sm" v-model="member.name" style="max-width: 150px;" />
+                        <button type="button" @click="removeApproval(index)" class="delete-button">
+                          <CloseOutlined />
+                        </button>
+                      </div>
+                    </div>
+                  </td>
+                </tr>
+                <tr>
+                  <th>비고</th>
+                  <td colspan="3" ><input type="text" class="form-control sm textarea" v-model="reason" /></td>
+                </tr>
+              </tbody>
+            </table>
         </div>
-        <div class="col-12">
-          <label for="inputName5" class="form-label">
-            <p>프로젝트명
-            <p class="require"><img :src="require" alt=""></p>
-            </p>
-          </label>
-          <input type="text" class="form-control" />
-        </div>
-        <div class="col-12">
-          <label for="inputName5" class="form-label">주관기관</label>
-          <input type="text" class="form-control" />
-        </div>
-        <div class="col-12">
-          <div class="col-12 border-x">
-            <label for="where" class="form-label">
-              <p>담당부서
-              <p class="require"><img :src="require" alt=""></p>
-              </p>
-            </label>
-            <input type="text" class="form-control" id="buseo" v-model="selectedDepartment" readonly />
-            <input type="button" class="form-control " value="검색" @click="showPopup = true" />
-            <BuseoPopup v-if="showPopup" @close="showPopup = false" @select="addBuseo" />
-          </div>
-          <div class="col-12 border-x">
-            <label for="where" class="form-label">
-              <p>프로젝트 책임자
-              <p class="require"><img :src="require" alt=""></p>
-              </p>
-            </label>
-            <input type="text" class="form-control" id="where" v-model="selectedname" readonly />
-            <input type="button" class="form-control " value="검색" @click="showPopup1 = true" />
-            <HrPopup v-if="showPopup1" @close="showPopup1 = false" @select="addApproval" />
-          </div>
-
-        </div>
-        <div class="col-12">
-          <div class="col-12 border-x">
-            <label for="where" class="form-label">사업비</label>
-            <input type="text" class="form-control" id="where" v-model="where" />
-          </div>
-          <div class="col-12 border-x">
-            <label for="where" class="form-label">회의비</label>
-            <input type="text" class="form-control" id="where" v-model="where" />
-          </div>
-
-        </div>
-        <div class="col-12">
-          <label for="startDate" class="form-label">
-            <p>사업기간
-            <p class="require"><img :src="require" alt=""></p>
-            </p>
-          </label>
-          <div class="d-flex gap-1">
-            <input type="date" class="form-control" id="startDate" v-model="startDate" />
-            <!-- 시간 선택을 위한 select 사용 -->
-            ~
-          </div>
-          <div class="d-flex gap-1">
-            <input type="date" class="form-control" id="endDate" v-model="endDate" />
-          </div>
-        </div>
-        <div class="col-12">
-          <label for="startDate" class="form-label">계획기간</label>
-          <div class="d-flex gap-1">
-            <input type="date" class="form-control" id="startDate" v-model="startDate" />
-            <!-- 시간 선택을 위한 select 사용 -->
-            ~
-          </div>
-          <div class="d-flex gap-1">
-            <input type="date" class="form-control" id="endDate" v-model="endDate" />
-          </div>
-        </div>
-        <div class="col-12">
-          <label for="startDate" class="form-label">실제기간</label>
-          <div class="d-flex gap-1">
-            <input type="date" class="form-control" id="startDate" v-model="startDate" />
-            <!-- 시간 선택을 위한 select 사용 -->
-            ~
-          </div>
-          <div class="d-flex gap-1">
-            <input type="date" class="form-control" id="endDate" v-model="endDate" />
-          </div>
-        </div>
-
-
-        <div class="col-12 ">
-          <label for="member" class="form-label">
-            <p>투입인력 <button type="button" title="추가" @click="showPopup2 = true">
-                <PlusCircleFilled />
-              </button>
-            <p class="require"><img :src="require" alt=""></p>
-            </p>
-
-          </label>
-          <HrPopup v-if="showPopup2" @close="showPopup2 = false" @select="addApproval1"/>
-          <div class="approval-container">
-            <div v-for="(member, index) in approvals1" :key="index" class="d-flex gap-2 addapproval mb-2">
-              <select class="form-select" style="width: 110px;" v-model="member.category">
-                <option value="선택">선택</option>
-                <option value=""></option>
-                <option value=""></option>
-              </select>
-              <input type="text" class="form-control" v-model="member.name" style="max-width: 150px;" />
-
-
-              <button type="button" @click="removeApproval(index)" class="delete-button">
-                <CloseOutlined />
-              </button>
-            </div>
-          </div>
-        </div>
-
-        <div class="col-12 chuljang border-x">
-          <label for="prvonsh" class="form-label">비고</label>
-          <input type="text" class="form-control textarea" id="reason" v-model="reason" />
-        </div>
-
-
-      </form>
-      <div class="buttons">
-        <button type="submit" class="btn sm primary">등록</button>
-        <button type="reset" class="btn sm tertiary">취소</button>
       </div>
     </div>
   </div>
+  <div class="d-flex justify-end align-center gap10">
+    <button type="submit" class="btn sm primary">등록</button>
+    <button type="reset" class="btn sm tertiary">취소</button>
+  </div>
 </template>
 
 <script>
client/views/pages/Manager/task/projectStatue.vue
--- client/views/pages/Manager/task/projectStatue.vue
+++ client/views/pages/Manager/task/projectStatue.vue
@@ -1,11 +1,12 @@
 <template>
-<div class="col-lg-12">
+
   <div class="card">
     <div class="card-body">
       <h2 class="card-title">프로젝트 현황</h2>
-<!-- //폼그룹 -->
-      <div class="boxs">
-            <div class="color-boxs">
+      <div>
+          <!-- //폼그룹 -->
+          <div class="boxs mb10">
+            <div class="color-boxs grid-wrap" style="grid-template-columns: repeat(4,1fr);">
                 <div class="box ">
                     <h3>전체</h3>
                     3
@@ -23,115 +24,77 @@
                     3
                 </div>
             </div>
-        </div>
-        <div class="sch-form-wrap title-wrap">
-          <h3><img :src="h3icon" alt="">승인 대기</h3>
-          <div class="input-group">
-            <select name="" id="" class="form-select">
-              <option :value="currentYear">{{ currentYear }}년</option>
-              <option value="all">전체</option>
-              <option v-for="year in remainingYears" :key="year" :value="year" v-if="year !== currentYear">
-                {{ year }}년
-              </option>
-            </select>
-            <select name="" id="" class="form-select">
-              <option :value="currentMonth">{{ currentMonth }}월</option>
-              <option value="all">전체</option>
-              <option v-for="month in remainingMonths" :key="month" :value="month" v-if="month !== currentMonth">
-                {{ month }}월
-              </option>
-            </select>
-            <select name="" id="" class="form-select">
-              <option value="">부서</option>
-            </select>
-            <select name="" id="" class="form-select">
-              <option value="">전체</option>
-              <option value="">프로젝트명</option>
-              <option value="">PM</option>
-            </select>
-            <div class="sch-input">
-              <input type="text" class="form-control">
-              <button class="ico-sch"><SearchOutlined /></button>
-            </div>
           </div>
-        </div>
-      <!-- Table  -->
-      <div class="tbl-wrap">
-          <table id="myTable" class="tbl data">
-            <!-- 동적으로 <th> 생성 -->
-            <thead>
-              <tr>
-                <th>구분 </th>
-                <th>부서</th>
-                <th>프로젝트명</th>
-                <th>PM</th>
-                <th>사업비</th>
-                <th>기간</th>
-                <th>상태</th>
-              </tr>
-            </thead>
-            <!-- 동적으로 <td> 생성 -->
-            <tbody>
-              <tr
-      v-for="(item, index) in listData"
-      :key="index"
-      @click="goToDetailPage(item)"
-      :class="{ 'expired': isPastStatus(item.status) }"
-    >
-      <td>{{ item.type }}</td>
-      <td>{{ item.department }}</td>
-      <td>{{ item.projectName }}</td>
-      <td>{{ item.pm }}</td>
-      <td>{{ item.budget }}</td>
-      <td>{{ item.period }}</td>
-      <td :class="getStatusClass(item.status)">
-        {{ item.status }}
-      </td>
-    </tr>
-            </tbody>
-          </table>
+          <div class="search-wrap mb10">
+              <select class="form-select sm">
+                <option :value="currentYear">{{ currentYear }}년</option>
+                <option value="all">전체</option>
+                <option v-for="year in remainingYears" :key="year" :value="year" v-if="year !== currentYear">
+                  {{ year }}년
+                </option>
+              </select>
+              <select class="form-select sm">
+                <option :value="currentMonth">{{ currentMonth }}월</option>
+                <option value="all">전체</option>
+                <option v-for="month in remainingMonths" :key="month" :value="month" v-if="month !== currentMonth">
+                  {{ month }}월
+                </option>
+              </select>
+              <select class="form-select sm">
+                <option value="">부서</option>
+              </select>
+              <select class="form-select sm">
+                <option value="">전체</option>
+                <option value="">프로젝트명</option>
+                <option value="">PM</option>
+              </select>
+                <input type="text" class="form-control sm">
+                <button class="btn-ico sm ico-sch"></button>
+          </div>
+        <!-- Table  -->
+        <div class="tbl-wrap">
+            <table class="tbl data">
+              <!-- 동적으로 <th> 생성 -->
+              <thead>
+                <tr>
+                  <th>구분 </th>
+                  <th>부서</th>
+                  <th>프로젝트명</th>
+                  <th>PM</th>
+                  <th>사업비</th>
+                  <th>기간</th>
+                  <th>상태</th>
+                </tr>
+              </thead>
+              <!-- 동적으로 <td> 생성 -->
+              <tbody>
+                <tr
+                  v-for="(item, index) in listData"
+                  :key="index"
+                  @click="goToDetailPage(item)"
+                  :class="{ 'expired': isPastStatus(item.status) }"
+                >
+                  <td>{{ item.type }}</td>
+                  <td>{{ item.department }}</td>
+                  <td>{{ item.projectName }}</td>
+                  <td>{{ item.pm }}</td>
+                  <td>{{ item.budget }}</td>
+                  <td>{{ item.period }}</td>
+                  <td :class="getStatusClass(item.status)">
+                    {{ item.status }}
+                  </td>
+                </tr>
+              </tbody>
+            </table>
 
         </div>
-      <div class="pagination">
-        <ul>
-      <!-- 왼쪽 화살표 (이전 페이지) -->
-      <li 
-        class="arrow" 
-        :class="{ disabled: currentPage === 1 }" 
-        @click="changePage(currentPage - 1)"
-      >
-      &lt;
-      </li>
-
-      <!-- 페이지 번호 -->
-      <li 
-        v-for="page in totalPages" 
-        :key="page" 
-        :class="{ active: currentPage === page }" 
-        @click="changePage(page)"
-      >
-        {{ page }}
-      </li>
-
-      <!-- 오른쪽 화살표 (다음 페이지) -->
-      <li 
-        class="arrow" 
-        :class="{ disabled: currentPage === totalPages }" 
-        @click="changePage(currentPage + 1)"
-      >
-      &gt;
-      </li>
-    </ul>
-  </div>
-      
+      </div>
     </div>
   </div>
-</div>
+
 </template>
 
 <script>
-import { ref } from 'vue';
-import { SearchOutlined } from '@ant-design/icons-vue';
 const currentYear = new Date().getFullYear();
 const currentMonth = new Date().getMonth() + 1;
 export default {
@@ -184,7 +147,6 @@
     };
   },
   components:{
-    SearchOutlined
   },
   computed: {
   },
client/views/pages/Manager/task/projectTuib.vue
--- client/views/pages/Manager/task/projectTuib.vue
+++ client/views/pages/Manager/task/projectTuib.vue
@@ -1,100 +1,64 @@
 <template>
-<div class="col-lg-12">
+
   <div class="card">
     <div class="card-body">
       <h2 class="card-title">투입 현황</h2>
-      <div class="sch-form-wrap">
-        <div class="input-group">
-          <select name="" id="" class="form-select">
-              <option :value="currentYear">{{ currentYear }}년</option>
-  <option value="all">전체</option>
-  <option
-    v-for="year in remainingYears"
-    :key="year"
-    :value="year"
-    v-if="year !== currentYear"
-  >
-    {{ year }}년
-  </option>
+      <div>
+          <div class="search-wrap mb30">
+            <select name="" id="" class="form-select sm">
+                <option :value="currentYear">{{ currentYear }}년</option>
+                <option value="all">전체</option>
+                <option
+                  v-for="year in remainingYears"
+                  :key="year"
+                  :value="year"
+                  v-if="year !== currentYear"
+                >
+                  {{ year }}년
+                </option>
             </select>
-          <select name="" id="" class="form-select">
-          <option value="">구분</option>
-        </select>
-        <div class="sch-input">
-              <input type="text" class="form-control" placeholder="이름">
-              <button class="ico-sch"><SearchOutlined /></button>
-            </div>
+            <select name="" id="" class="form-select sm">
+              <option value="">구분</option>
+            </select>
+            <input type="text" class="form-control sm" placeholder="이름">
+            <button class="btn-ico sm ico-sch"></button>
+        </div>
+        <!-- Table  -->
+        <div class="tbl-wrap">
+          <table id="myTable" class="tbl data buseo">
+            <!-- 동적으로 <th> 생성 -->
+            <thead>
+              <tr>
+                <th rowspan="2">No </th>
+                <th rowspan="2">부서</th>
+                <th rowspan="2">직급</th>
+                <th rowspan="2">이름</th>
+                <th colspan="3">프로젝트</th>
+              </tr>
+              <tr>
+                <th><p >진행전</p></th>
+                <th><p class="blue">진행중</p></th>
+                <th><p class="green">완료</p></th>
+              </tr>
+            </thead>
+            <!-- 동적으로 <td> 생성 -->
+            <tbody>
+              <tr v-for="(item, index) in listData" :key="index"  @click="goToAttendancePage(item)">
+                          <td>{{ index + 1 }}</td>
+                  <td>{{ item.department }}</td>
+                  <td>{{ item.position }}</td>
+                  <td>{{ item.name }}</td>
+                  <td>{{ item.projectBefore }}</td>
+                  <td>{{ item.projectOngoing }}</td>
+                  <td>{{ item.projectDone }}</td>
+              </tr>
+            </tbody>
+          </table>
+
         </div>
       </div>
-
-      <!-- Table  -->
-      <div class="tbl-wrap">
-        <table id="myTable" class="tbl data buseo">
-          <!-- 동적으로 <th> 생성 -->
-          <thead>
-            <tr>
-              <th rowspan="2">No </th>
-              <th rowspan="2">부서</th>
-              <th rowspan="2">직급</th>
-              <th rowspan="2">이름</th>
-              <th colspan="3">프로젝트</th>
-            </tr>
-            <tr>
-              <th><p >진행전</p></th>
-              <th><p class="blue">진행중</p></th>
-              <th><p class="green">완료</p></th>
-            </tr>
-          </thead>
-          <!-- 동적으로 <td> 생성 -->
-          <tbody>
-            <tr v-for="(item, index) in listData" :key="index"  @click="goToAttendancePage(item)">
-              <td>{{ index + 1 }}</td>
-      <td>{{ item.department }}</td>
-      <td>{{ item.position }}</td>
-      <td>{{ item.name }}</td>
-      <td>{{ item.projectBefore }}</td>
-      <td>{{ item.projectOngoing }}</td>
-      <td>{{ item.projectDone }}</td>
-  </tr>
-          </tbody>
-        </table>
-
-      </div>
-      <div class="pagination">
-        <ul>
-      <!-- 왼쪽 화살표 (이전 페이지) -->
-      <li
-        class="arrow"
-        :class="{ disabled: currentPage === 1 }"
-        @click="changePage(currentPage - 1)"
-      >
-      &lt;
-      </li>
-
-      <!-- 페이지 번호 -->
-      <li
-        v-for="page in totalPages"
-        :key="page"
-        :class="{ active: currentPage === page }"
-        @click="changePage(page)"
-      >
-        {{ page }}
-      </li>
-
-      <!-- 오른쪽 화살표 (다음 페이지) -->
-      <li
-        class="arrow"
-        :class="{ disabled: currentPage === totalPages }"
-        @click="changePage(currentPage + 1)"
-      >
-      &gt;
-      </li>
-    </ul>
-  </div>
-
     </div>
   </div>
-</div>
 </template>
 
 <script>
Add a comment
List