This commit is contained in:
Jaybe
2025-03-05 14:02:29 +09:00
commit 247a7808d3
357 changed files with 161196 additions and 0 deletions
+243
View File
@@ -0,0 +1,243 @@
<?=$this->extend('templates/front.php');?>
<?=$this->section('title');?>
ZENITH - 회계 관리 / 세금계산서 요청
<?=$this->endSection();?>
<!--헤더-->
<?=$this->section('header');?>
<script>
console.log('header')
</script>
<?=$this->endSection();?>
<!--바디-->
<?=$this->section('body');?>
<?=$this->endSection();?>
<!--컨텐츠영역-->
<?=$this->section('content');?>
<div class="sub-contents-wrap">
<div class="title-area">
<h2 class="page-title">세금계산서 요청</h2>
<!-- <p class="title-disc">세금계산서 발행을 경영지원실에 요청하세요~ 나연님, 서진님 고생이 많으십니다.</p> -->
</div>
<div class="search-wrap">
<form class="search d-flex justify-content-center">
<div class="term d-flex align-items-center">
<label>
<input type="text" name="sdate1" id="sdate1" value="<?= date("Y-m-d", strtotime('-1 month')) ?>" readonly="readonly">
<i class="bi bi-calendar2-week"></i>
</label>
<span> ~ </span>
<label>
<input type="text" name="edate1" id="edate1" value="<?= date("Y-m-d") ?>" readonly="readonly">
<i class="bi bi-calendar2-week"></i>
</label>
</div>
<select class="form-select" aria-label="선택">
<option selected>-선택-</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
<div class="input ml15">
<input class="" type="text" placeholder="검색어를 입력하세요">
<button class="btn-primary" type="submit">조회</button>
</div>
</form>
</div>
<div class="section client-list biz">
<h3 class="content-title toggle"><i class="bi bi-chevron-up"></i> 담당자</h3>
<div class="row">
<div class="col">
<div class="inner">
<button type="button">열혈 패밀리</button>
</div>
</div>
<div class="col">
<div class="inner">
<button type="button">케어랩스5</button>
</div>
</div>
<div class="col">
<div class="inner">
<button type="button">케어랩스7</button>
</div>
</div>
</div>
</div>
<div class="section client-list biz">
<h3 class="content-title toggle"><i class="bi bi-chevron-up"></i> 결과</h3>
<div class="row">
<div class="col">
<div class="inner">
<button type="button">열혈 패밀리</button>
</div>
</div>
<div class="col">
<div class="inner">
<button type="button">케어랩스5</button>
</div>
</div>
<div class="col">
<div class="inner">
<button type="button">케어랩스7</button>
</div>
</div>
</div>
</div>
<div class="section client-list biz">
<h3 class="content-title toggle"><i class="bi bi-chevron-up"></i> 구분</h3>
<div class="row">
<div class="col">
<div class="inner">
<button type="button">열혈 패밀리</button>
</div>
</div>
<div class="col">
<div class="inner">
<button type="button">케어랩스5</button>
</div>
</div>
<div class="col">
<div class="inner">
<button type="button">케어랩스7</button>
</div>
</div>
</div>
</div>
<div class="section ">
<div class="btn-wrap text-end mb-2">
<a href="/accounting/taxList"><button type="button" class="btn btn-outline-danger">업체목록(세금계산서)</button></a>
<a href="#"><button type="button" class="btn btn-outline-danger">글쓰기(세금계산서)</button></a>
<a href="#"><button type="button" class="btn btn-outline-danger">엑셀백업</button></a>
</div>
<div class="table-responsive">
<table class="table table-striped table-hover table-default">
<colgroup>
<col style="width:3%">
<col style="width:8%">
<col style="width:5%">
<col style="width:5%">
<col style="width:15%">
<col style="width:10%">
<col style="width:5%">
<col style="">
<col style="width:8%">
<col style="width:8%">
<col style="width:5%">
<col style="width:5%">
</colgroup>
<thead class="table-dark">
<tr>
<th scope="col">번호</th>
<th scope="col">발행일자</th>
<th scope="col">작성자</th>
<th scope="col">구분</th>
<th scope="col">사업자명</th>
<th scope="col">사업자등록번호</th>
<th scope="col">대표자명</th>
<th scope="col">내역</th>
<th scope="col">공급가액</th>
<th scope="col">총금액<br>(VAT 포함)</th>
<th scope="col">비고</th>
<th scope="col">결과</th>
</tr>
</thead>
<tbody>
<tr>
<td class="p-0">845</td>
<td>2023-03-13</td>
<td>김혜린</td>
<td>입금완료</td>
<td>우주마켓_MOBON</td>
<td>234-45-12456</td>
<td>이주옥</td>
<td>인라이플_모비온_우주마켓 광고비 지출결의</td>
<td>1,100,000</td>
<td>1,100,000</td>
<td></td>
<td>완료</td>
</tr>
<tr>
<td class="p-0">845</td>
<td>2023-03-13</td>
<td>김혜린</td>
<td>입금완료</td>
<td>우주마켓_MOBON</td>
<td>234-45-12456</td>
<td>이주옥</td>
<td>인라이플_모비온_우주마켓 광고비 지출결의</td>
<td>1,100,000</td>
<td>1,100,000</td>
<td>2/28 재발행 예정</td>
<td>완료</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<?=$this->endSection();?>
<!--스크립트-->
<?=$this->section('script');?>
<script>
setDate('#sdate1, #edate1'); // 범위 날짜 선택기 - 세금계산서
// 범위 날짜 선택기
function setDate(selector) {
$(selector).daterangepicker({
locale: {
"format": 'YYYY-MM-DD', // 일시 노출 포맷
"applyLabel": "확인", // 확인 버튼 텍스트
"cancelLabel": "취소", // 취소 버튼 텍스트
"daysOfWeek": ["일", "월", "화", "수", "목", "금", "토"],
"monthNames": ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"]
},
alwaysShowCalendars: true, // 시간 노출 여부
showDropdowns: true, // 년월 수동 설정 여부
autoApply: true, // 확인/취소 버튼 사용여부
maxDate: new Date(),
autoUpdateInput: false,
ranges: {
'오늘': [moment(), moment()],
'어제': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'지난 일주일': [moment().subtract(6, 'days'), moment()],
'지난 한달': [moment().subtract(29, 'days'), moment()],
'이번달': [moment().startOf('month'), moment().endOf('month')],
}
}, function (start, end, label) {
// Lets update the fields manually this event fires on selection of range
startDate = start.format('YYYY-MM-DD'); // selected start
endDate = end.format('YYYY-MM-DD'); // selected end
$checkinInput = $(selector.split(',')[0]);
$checkoutInput = $(selector.split(',')[1]);
// Updating Fields with selected dates
$checkinInput.val(startDate);
$checkoutInput.val(endDate);
// Setting the Selection of dates on calender on CHECKOUT FIELD (To get this it must be binded by Ids not Calss)
var checkOutPicker = $checkoutInput.data('daterangepicker');
checkOutPicker.setStartDate(startDate);
checkOutPicker.setEndDate(endDate);
// Setting the Selection of dates on calender on CHECKIN FIELD (To get this it must be binded by Ids not Calss)
var checkInPicker = $checkinInput.data('daterangepicker');
checkInPicker.setStartDate($checkinInput.val(startDate));
checkInPicker.setEndDate(endDate);
});
}
</script>
<?=$this->endSection();?>
<!--푸터-->
<?=$this->section('footer');?>
<?=$this->endSection();?>
+395
View File
@@ -0,0 +1,395 @@
<?=$this->extend('templates/front.php');?>
<?=$this->section('title');?>
ZENITH - 세금계산서 요청
<?=$this->endSection();?>
<!--헤더-->
<?=$this->section('header');?>
<script>
console.log('header')
</script>
<?=$this->endSection();?>
<!--바디-->
<?=$this->section('body');?>
<?=$this->endSection();?>
<!--컨텐츠영역-->
<?=$this->section('content');?>
<div class="sub-contents-wrap">
<div class="title-area">
<h2 class="page-title">세금계산서 요청</h2>
<!-- <p class="title-disc">세금계산서 발행을 경영지원실에 요청하세요~ 나연님, 서진님 고생이 많으십니다.</p> -->
</div>
<div class="search-wrap">
<form class="search d-flex justify-content-center">
<div class="term d-flex align-items-center">
<label>
<input type="text" name="sdate1" id="sdate1" value="<?= date("Y-m-d", strtotime('-1 month')) ?>" readonly="readonly">
<i class="bi bi-calendar2-week"></i>
</label>
<span> ~ </span>
<label>
<input type="text" name="edate1" id="edate1" value="<?= date("Y-m-d") ?>" readonly="readonly">
<i class="bi bi-calendar2-week"></i>
</label>
</div>
<select class="form-select" aria-label="선택">
<option selected>-선택-</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
<div class="input ml15">
<input class="" type="text" placeholder="검색어를 입력하세요">
<button class="btn-primary" type="submit">조회</button>
</div>
</form>
</div>
<div class="section ">
<div class="btn-wrap text-end mb-2">
<button type="button" class="btn btn-outline-danger" data-bs-toggle="modal" data-bs-target="#bizModal">업체등록(세금계산서)</button>
<button type="button" class="btn btn-outline-danger" data-bs-toggle="modal" data-bs-target="#taxModal">리스트(세금계산서)</button>
</div>
<div class="table-responsive">
<table class="table table-striped table-hover table-default">
<colgroup>
<col style="width:15%">
<col style="width:10%">
<col style="width:5%">
<col style="width:5%">
<col style="width:8%">
<col style="">
<col style="width:12%">
<col style="width:12%">
<col style="width:5%">
<col style="width:5%">
<col style="width:8%">
</colgroup>
<thead class="table-dark">
<tr>
<th scope="col">사업자명</th>
<th scope="col">사업자등록번호</th>
<th scope="col">대표자명</th>
<th scope="col">업태</th>
<th scope="col">종목</th>
<th scope="col">주소</th>
<th scope="col">메일주소1</th>
<th scope="col">메일주소2</th>
<th scope="col">작성자</th>
<th scope="col">담당자</th>
<th scope="col">작성일</th>
</tr>
</thead>
<tbody>
<tr>
<td>우주마켓_MOBON</td>
<td>234-45-12456</td>
<td>김혜린</td>
<td>도소매</td>
<td>화장품</td>
<td>서울특별시 강남구 테헤란로 123길 22, b동 3층(신사동, 케이티타워신사)</td>
<td>b-uwqej@nave.rcom</td>
<td></td>
<td>고영석</td>
<td>고영석</td>
<td>2023-01-23 14:14:34</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<?=$this->endSection();?>
<?=$this->section('modal');?>
<!-- 업체 등록 -->
<div class="modal fade" id="bizModal" tabindex="-1" aria-labelledby="bizModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title" id="bizModalLabel">업체 등록</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="table-responsive">
<table class="table table-bordered table-left-header">
<colgroup>
<col style="width:30%;">
<col style="width:70%;">
</colgroup>
<tbody>
<tr>
<th scope="row">사업자명</th>
<td><input type="text" class="form-control"></td>
</tr>
<tr>
<th scope="row">사업자등록번호</th>
<td>
<div class="d-flex">
<input type="text" class="form-control">
<button type="button" class="btn btn-secondary btn-sm">중복확인</button>
</div>
</td>
</tr>
<tr>
<th scope="row">대표자</th>
<td><input type="text" class="form-control"></td>
</tr>
<tr>
<th scope="row">업태</th>
<td><input type="text" class="form-control"></td>
</tr>
<tr>
<th scope="row">종목</th>
<td><input type="text" class="form-control"></td>
</tr>
<tr>
<th scope="row">주소</th>
<td><input type="text" class="form-control"></td>
</tr>
<tr>
<th scope="row">이메일1</th>
<td><input type="text" class="form-control"></td>
</tr>
<tr>
<th scope="row">당당자</th>
<td><input type="text" class="form-control"></td>
</tr>
</tbody>
</table>
<button type="button" class="btn btn-danger btn-sm">이메일 추가</button>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary">작성완료</button>
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">취소</button>
</div>
</div>
</div>
</div>
<!-- //업체 등록 -->
<!-- 세금계산서 -->
<div class="modal fade" id="taxModal" tabindex="-1" aria-labelledby="taxModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title taxModalLabel" id="taxModalLabel">세금계산서 발행 요청서</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="approval">
<ol class="d-flex">
<li>
<span>담당자</span>
<div></div>
</li>
<li>
<span>경영지원실장</span>
<div></div>
</li>
<li>
<span>사업부대표</span>
<div></div>
</li>
</ol>
</div>
<div class="table-responsive">
<table class="table table-bordered table-left-header">
<colgroup>
<col style="width:25%;">
<col style="width:75%;">
</colgroup>
<tbody>
<tr>
<th scope="row">담당자</th>
<td>
<select class="form-select" aria-label="담당자 선택">
<option selected>-선택-</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
</td>
</tr>
<tr>
<th scope="row">사업자명</th>
<td>
<input type="text" class="form-control">
</td>
</tr>
<tr>
<th scope="row">사업자 등록번호</th>
<td>
<input type="text" class="form-control">
</td>
</tr>
<tr>
<th scope="row">대표자</th>
<td>
<input type="text" class="form-control">
</td>
</tr>
<tr>
<th scope="row">업태</th>
<td>
<input type="text" class="form-control">
</td>
</tr>
<tr>
<th scope="row">종목</th>
<td>
<input type="text" class="form-control">
</td>
</tr>
<tr>
<th scope="row">주소</th>
<td>
<input type="text" class="form-control">
</td>
</tr>
<tr>
<th scope="row">이메일1</th>
<td>
<input type="text" class="form-control">
</td>
</tr>
<tr>
<th scope="row">이메일2</th>
<td>
<input type="text" class="form-control">
</td>
</tr>
<tr>
<th scope="row">발행일자</th>
<td>
<input type="text" class="form-control">
</td>
</tr>
<tr>
<th scope="row">구분</th>
<td>
<select class="form-select" aria-label="구분 선택">
<option selected>-선택-</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
</td>
</tr>
<tr>
<th scope="row">내역</th>
<td>
<div class="d-flex align-items-center">
<span class="me-2">1.</span>
<input type="text" class="form-control" placeholder="내역">
<input type="text" class="form-control ms-2 me-2 w-50" placeholder="공급가액">
<input type="text" class="form-control w-50" placeholder="부가세">
</div>
<div class="d-flex justify-content-end mt-2">
<button type="button">- 헹 제거</button>
<button type="button">+ 행 추가</button>
</div>
</td>
</tr>
<tr>
<th scope="row">총금액(VAT포함)</th>
<td>
<div class="d-flex">
<button type="button" class="btn btn-dark btn-sm me-2">자동계산</button>
<input type="text" class="form-control">
</div>
</td>
</tr>
<tr>
<th scope="row">공급가액</th>
<td>
<div class="d-flex">
<button type="button" class="btn btn-dark btn-sm me-2">자동계산</button>
<input type="text" class="form-control">
</div>
</td>
</tr>
<tr>
<th scope="row">비고</th>
<td>
<textarea></textarea>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary">작성완료</button>
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">취소</button>
</div>
</div>
</div>
</div>
<!-- //세금계산서 -->
<?=$this->endSection();?>
<!--스크립트-->
<?=$this->section('script');?>
<script>
setDate('#sdate1, #edate1'); // 범위 날짜 선택기 - 세금계산서
// 범위 날짜 선택기
function setDate(selector) {
$(selector).daterangepicker({
locale: {
"format": 'YYYY-MM-DD', // 일시 노출 포맷
"applyLabel": "확인", // 확인 버튼 텍스트
"cancelLabel": "취소", // 취소 버튼 텍스트
"daysOfWeek": ["일", "월", "화", "수", "목", "금", "토"],
"monthNames": ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"]
},
alwaysShowCalendars: true, // 시간 노출 여부
showDropdowns: true, // 년월 수동 설정 여부
autoApply: true, // 확인/취소 버튼 사용여부
maxDate: new Date(),
autoUpdateInput: false,
ranges: {
'오늘': [moment(), moment()],
'어제': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'지난 일주일': [moment().subtract(6, 'days'), moment()],
'지난 한달': [moment().subtract(29, 'days'), moment()],
'이번달': [moment().startOf('month'), moment().endOf('month')],
}
}, function (start, end, label) {
// Lets update the fields manually this event fires on selection of range
startDate = start.format('YYYY-MM-DD'); // selected start
endDate = end.format('YYYY-MM-DD'); // selected end
$checkinInput = $(selector.split(',')[0]);
$checkoutInput = $(selector.split(',')[1]);
// Updating Fields with selected dates
$checkinInput.val(startDate);
$checkoutInput.val(endDate);
// Setting the Selection of dates on calender on CHECKOUT FIELD (To get this it must be binded by Ids not Calss)
var checkOutPicker = $checkoutInput.data('daterangepicker');
checkOutPicker.setStartDate(startDate);
checkOutPicker.setEndDate(endDate);
// Setting the Selection of dates on calender on CHECKIN FIELD (To get this it must be binded by Ids not Calss)
var checkInPicker = $checkinInput.data('daterangepicker');
checkInPicker.setStartDate($checkinInput.val(startDate));
checkInPicker.setEndDate(endDate);
});
}
</script>
<?=$this->endSection();?>
<!--푸터-->
<?=$this->section('footer');?>
<?=$this->endSection();?>
+222
View File
@@ -0,0 +1,222 @@
<?=$this->extend('templates/front.php');?>
<?=$this->section('title');?>
ZENITH - 회계 관리 / 미수금 관리
<?=$this->endSection();?>
<!--헤더-->
<?=$this->section('header');?>
<script>
console.log('header')
</script>
<?=$this->endSection();?>
<!--바디-->
<?=$this->section('body');?>
<?=$this->endSection();?>
<!--컨텐츠영역-->
<?=$this->section('content');?>
<div class="sub-contents-wrap">
<div class="title-area">
<h2 class="page-title">미수금 관리</h2>
</div>
<div class="row mt-5">
<div class="col half">
<h3 class="content-title">미수금 내역</h3>
<div class="search-wrap">
<form class="search d-flex justify-content-center">
<div class="input">
<input class="" type="text" placeholder="검색어를 입력하세요">
<button class="btn-primary" type="submit">조회</button>
</div>
</form>
</div>
<p class="mb-4">* 2019년 9월 1일부터 세부내역 조회가 가능하며, 문의사항이 있을 경우 경영지원실로 문의하시기 바랍니다.</p>
<div class="table-responsive">
<table class="table table-striped table-hover table-default caption-top">
<caption class="text-end">[단위: 원, 부가세포함]</caption>
<colgroup>
<col style="width:10%">
<col>
<col style="width:20%">
<col style="width:17%">
<col style="width:15%">
</colgroup>
<thead class="table-dark">
<tr>
<th scope="col">담당자</th>
<th scope="col">업체명</th>
<th scope="col">사업자 번호</th>
<th scope="col">최근 세금계산서</th>
<th scope="col">미수금</th>
</tr>
</thead>
<tbody>
<tr>
<td>김혜린</td>
<td>우주마켓_MOBON</td>
<td>114-02-34856</td>
<td class="text-end">+865일</td>
<td class="text-end">2,345,789</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="col half">
<h3 class="content-title">입금 내역</h3>
<div class="search-wrap">
<form class="search d-flex justify-content-center">
<div class="term d-flex align-items-center">
<label>
<input type="text" name="sdate1" id="sdate1" value="<?= date("Y-m-d", strtotime('-1 month')) ?>" readonly="readonly">
<i class="bi bi-calendar2-week"></i>
</label>
<span> ~ </span>
<label>
<input type="text" name="edate1" id="edate1" value="<?= date("Y-m-d") ?>" readonly="readonly">
<i class="bi bi-calendar2-week"></i>
</label>
</div>
<div class="input">
<input class="" type="text" placeholder="검색어를 입력하세요">
<button class="btn-primary" type="submit">조회</button>
</div>
</form>
</div>
<div class="regi-wrap">
<form class="search d-flex justify-content-center">
<!-- <input type="text" name="sdate3" id="sdate3" class="form-control">
<button type="button"><i class="bi bi-calendar2-week"></i></button> -->
<div class="d-flex align-items-center justify-content-center">
<label class="d-flex align-items-center justify-content-center wid100">
<input type="text" name="sdate3" id="sdate3" class="form-control data-calendar">
<i class="bi bi-calendar2-week ml5"></i>
</label>
<input type="text" class="form-control" placeholder="광고주">
<input type="text" class="form-control" placeholder="사업자등록번호">
<input type="text" class="form-control" placeholder="입금액">
<input type="text" class="form-control" placeholder="적요/비고">
<button class="btn btn-primary ms-2" type="submit">등록</button>
</div>
</form>
</div>
<div class="table-responsive">
<table class="table table-striped table-hover table-default">
<colgroup>
<col style="width:15%">
<col>
<col style="width:20%">
<col style="width:15%">
<col style="width:15%">
</colgroup>
<thead class="table-dark">
<tr>
<th scope="col">날짜</th>
<th scope="col">업체명</th>
<th scope="col">사업자 번호</th>
<th scope="col">입금액</th>
<th scope="col">비고</th>
</tr>
</thead>
<tbody>
<tr>
<td>2023-3-24</td>
<td>우주마켓_MOBON</td>
<td>114-02-34856</td>
<td class="text-end">34,4567,324</td>
<td></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<?=$this->endSection();?>
<!--스크립트-->
<?=$this->section('script');?>
<script>
setDate('#sdate1, #edate1'); // 범위 날짜 선택기 - 입금내역
setDateSingle('#sdate3');//단일 날짜 선택기 - 미수금내역
// 범위 날짜 선택기
function setDate(selector) {
$(selector).daterangepicker({
locale: {
"format": 'YYYY-MM-DD', // 일시 노출 포맷
"applyLabel": "확인", // 확인 버튼 텍스트
"cancelLabel": "취소", // 취소 버튼 텍스트
"daysOfWeek": ["일", "월", "화", "수", "목", "금", "토"],
"monthNames": ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"]
},
alwaysShowCalendars: true, // 시간 노출 여부
showDropdowns: true, // 년월 수동 설정 여부
autoApply: true, // 확인/취소 버튼 사용여부
maxDate: new Date(),
autoUpdateInput: false,
ranges: {
'오늘': [moment(), moment()],
'어제': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'지난 일주일': [moment().subtract(6, 'days'), moment()],
'지난 한달': [moment().subtract(29, 'days'), moment()],
'이번달': [moment().startOf('month'), moment().endOf('month')],
}
}, function (start, end, label) {
// Lets update the fields manually this event fires on selection of range
startDate = start.format('YYYY-MM-DD'); // selected start
endDate = end.format('YYYY-MM-DD'); // selected end
$checkinInput = $(selector.split(',')[0]);
$checkoutInput = $(selector.split(',')[1]);
// Updating Fields with selected dates
$checkinInput.val(startDate);
$checkoutInput.val(endDate);
// Setting the Selection of dates on calender on CHECKOUT FIELD (To get this it must be binded by Ids not Calss)
var checkOutPicker = $checkoutInput.data('daterangepicker');
checkOutPicker.setStartDate(startDate);
checkOutPicker.setEndDate(endDate);
// Setting the Selection of dates on calender on CHECKIN FIELD (To get this it must be binded by Ids not Calss)
var checkInPicker = $checkinInput.data('daterangepicker');
checkInPicker.setStartDate($checkinInput.val(startDate));
checkInPicker.setEndDate(endDate);
});
}
//단일 날짜 선택기
function setDateSingle(selector) {
$(selector).daterangepicker({
singleDatePicker: true, // 단일 날짜 선택기 활성화
locale: {
"format": 'YYYY-MM-DD', // 일시 노출 포맷
"applyLabel": "확인", // 확인 버튼 텍스트
"cancelLabel": "취소", // 취소 버튼 텍스트
"daysOfWeek": ["일", "월", "화", "수", "목", "금", "토"],
"monthNames": ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"]
},
alwaysShowCalendars: true, // 시간 노출 여부
showDropdowns: true, // 년월 수동 설정 여부
autoApply: true, // 확인/취소 버튼 사용여부
//maxDate: new Date(),
autoUpdateInput: true,
ranges: {
'오늘': [moment(), moment()],
'어제': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'지난 일주일': [moment().subtract(6, 'days'), moment()],
'지난 한달': [moment().subtract(29, 'days'), moment()],
'이번달': [moment().startOf('month'), moment().endOf('month')],
}
});
}
</script>
<?=$this->endSection();?>
<!--푸터-->
<?=$this->section('footer');?>
<?=$this->endSection();?>
+382
View File
@@ -0,0 +1,382 @@
<?=$this->extend('templates/front.php');?>
<?=$this->section('title');?>
ZENITH - 회계 관리 / 출금요청
<?=$this->endSection();?>
<!--헤더-->
<?=$this->section('header');?>
<link href="/static/css/datatables.css" rel="stylesheet">
<link href="/static/node_modules/datatables.net-bs5/css/dataTables.bootstrap5.min.css" rel="stylesheet">
<link href="/static/node_modules/datatables.net-buttons-bs5/css/buttons.bootstrap5.min.css" rel="stylesheet">
<link href="/static/node_modules/datatables.net-staterestore-bs5/css/stateRestore.bootstrap5.min.css" rel="stylesheet">
<script src="/static/node_modules/datatables.net/js/dataTables.min.js"></script>
<script src="/static/node_modules/datatables.net-buttons/js/dataTables.buttons.min.js"></script>
<?=$this->endSection();?>
<!--바디-->
<?=$this->section('body');?>
<?=$this->endSection();?>
<!--컨텐츠영역-->
<?=$this->section('content');?>
<div class="sub-contents-wrap">
<div class="title-area">
<h2 class="page-title">출금요청</h2>
<!-- <p class="title-disc">출금이 필요한 거래처를 경영지원실에 요청하세요~ 나연님, 서진님 고생이 많으십니다.</p> -->
</div>
<div class="search-wrap">
<form class="search d-flex justify-content-center">
<div class="term d-flex align-items-center">
<label>
<input type="text" name="sdate" id="sdate" value="<?= date("Y-m-d", strtotime('-1 year +1 day')) ?>" readonly="readonly">
<i class="bi bi-calendar2-week"></i>
</label>
<span> ~ </span>
<label>
<input type="text" name="edate" id="edate" value="<?= date("Y-m-d") ?>" readonly="readonly">
<i class="bi bi-calendar2-week"></i>
</label>
</div>
<select class="form-select" id="stx_opt" name="stx_opt" aria-label="선택">
<option value="" selected>-선택-</option>
<option value="company">거래처명</option>
<option value="detail">내역</option>
</select>
<div class="input ml15">
<input class="" id="stx" name="stx" type="text" placeholder="검색어를 입력하세요">
<button class="btn-primary" type="submit">조회</button>
</div>
<input type="hidden" id="userid" name="userid"/>
<input type="hidden" id="type" name="type"/>
<input type="hidden" id="complete" name="complete"/>
</form>
</div>
<div class="section client-list biz">
<h3 class="content-title toggle"><i class="bi bi-chevron-up"></i> 담당자</h3>
<div class="row" id="nickname_row" name="nickname_row"></div>
</div>
<div class="section client-list biz">
<h3 class="content-title toggle"><i class="bi bi-chevron-up"></i> 결과</h3>
<div class="row">
<div class="col">
<div class="inner">
<button type="button" onclick="setVal(1,'complete')">완료</button>
</div>
</div>
<div class="col">
<div class="inner">
<button type="button" onclick="setVal(0,'complete')">진행중</button>
</div>
</div>
</div>
</div>
<div class="section client-list biz">
<h3 class="content-title toggle"><i class="bi bi-chevron-up"></i> 구분</h3>
<div class="row" id="type_row" name="type_row"></div>
</div>
<div class="section ">
<div class="btn-wrap text-end mb-2">
<a href="/accounting/withdrawList"><button type="button" class="btn btn-outline-danger">업체목록(출금요청)</button></a>
<a href="#"><button type="button" class="btn btn-outline-danger">글쓰기(출금요청)</button></a>
<button type="button" onclick="excel()" class="btn btn-outline-danger">엑셀백업</button>
</div>
<div class="table-responsive" id="withdrawTable">
<table class="table table-striped table-hover table-default withdrawListTable">
<!-- <colgroup>
<col style="width:3%">
<col style="width:8%">
<col style="width:5%">
<col style="width:5%">
<col style="width:10%">
<col style="width:8%">
<col style="width:10%">
<col style="">
<col style="width:10%">
<col style="">
<col style="width:5%">
<col style="width:5%">
<col style="width:8%">
</colgroup> -->
<thead class="table-dark">
<tr>
<th scope="col">번호</th>
<th scope="col">작성일</th>
<th scope="col">작성자</th>
<th scope="col">구분</th>
<th scope="col">거래처명(예금주명)</th>
<th scope="col">은행</th>
<th scope="col">계좌번호</th>
<th scope="col">내역(자세히)</th>
<th scope="col">총금액(VAT 포함)</th>
<th scope="col">비고</th>
<th scope="col">결제현황</th>
<th scope="col">결과</th>
<th scope="col">출금완료일</th>
</tr>
</thead>
<tbody>
<tr>
<td class="p-0">845</td>
<td>2023-03-13 18:34:39</td>
<td>김혜린</td>
<td>광고비</td>
<td>우주마켓_MOBON</td>
<td>국민은행</td>
<td>174892038457684</td>
<td>인라이플_모비온_우주마켓 광고비 지출결의</td>
<td>1,100,000</td>
<td></td>
<td>진행중</td>
<td>진행중</td>
<td></td>
</tr>
<tr>
<td>845</td>
<td>2023-03-13 18:34:39</td>
<td>김혜린</td>
<td>광고비</td>
<td>우주마켓_MOBON</td>
<td>국민은행</td>
<td>174892038457684</td>
<td>인라이플_모비온_우주마켓 광고비 지출결의</td>
<td>1,100,000</td>
<td></td>
<td class="text-primary">완료</td>
<td>완료</td>
<td></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<?=$this->endSection();?>
<!--스크립트-->
<?=$this->section('script');?>
<script>
$(document).ready(function() {
typeList();
userList();
getList();
});
setDate('#sdate, #edate'); // 범위 날짜 선택기 - 출금요청
// 범위 날짜 선택기
function setDate(selector) {
$(selector).daterangepicker({
locale: {
"format": 'YYYY-MM-DD', // 일시 노출 포맷
"applyLabel": "확인", // 확인 버튼 텍스트
"cancelLabel": "취소", // 취소 버튼 텍스트
"daysOfWeek": ["일", "월", "화", "수", "목", "금", "토"],
"monthNames": ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"]
},
alwaysShowCalendars: true, // 시간 노출 여부
showDropdowns: true, // 년월 수동 설정 여부
autoApply: true, // 확인/취소 버튼 사용여부
maxDate: new Date(),
autoUpdateInput: false,
ranges: {
'오늘': [moment(), moment()],
'어제': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'지난 일주일': [moment().subtract(6, 'days'), moment()],
'지난 한달': [moment().subtract(29, 'days'), moment()],
'이번달': [moment().startOf('month'), moment().endOf('month')],
}
}, function (start, end, label) {
// Lets update the fields manually this event fires on selection of range
startDate = start.format('YYYY-MM-DD'); // selected start
endDate = end.format('YYYY-MM-DD'); // selected end
$checkinInput = $(selector.split(',')[0]);
$checkoutInput = $(selector.split(',')[1]);
// Updating Fields with selected dates
$checkinInput.val(startDate);
$checkoutInput.val(endDate);
// Setting the Selection of dates on calender on CHECKOUT FIELD (To get this it must be binded by Ids not Calss)
var checkOutPicker = $checkoutInput.data('daterangepicker');
checkOutPicker.setStartDate(startDate);
checkOutPicker.setEndDate(endDate);
// Setting the Selection of dates on calender on CHECKIN FIELD (To get this it must be binded by Ids not Calss)
var checkInPicker = $checkinInput.data('daterangepicker');
checkInPicker.setStartDate($checkinInput.val(startDate));
checkInPicker.setEndDate(endDate);
});
}
$(".btn-primary").click(function(e) {
e.preventDefault();
logTable.ajax.reload();//getList();
});
// 조회 버튼
$('form[name="search"]').bind('submit', function(e) {
e.preventDefault();
logTable.ajax.reload();//getList();
});
// datatable getList
function getList(){
logTable = $('#withdrawTable .withdrawListTable').DataTable({
"dom": '<t>p',
"destroy": true,
"autoWidth": true,
"responsive": true,
"processing": true,
"paging": true,
"info": false,
"language": {"url": '/static/js/dataTables.i18n.json'},
"ajax": {
"url": "<?=base_url()?>accounting/withdraw/getlist",
"type": "POST",
"data": function(d) {
let searchData = $(".search").serializeArray();
$.each(searchData, function(index, item) {
d[item.name] = item.value; // d[name] = value (데이터 이름 = 데이터 값)
});
console.log('서버로 보내는 데이터:', d); // 서버로 보내는 데이터 로깅
return d;
},
"dataType": "json",
"dataSrc": function (json) {
console.log(json);
return json; // 또는 json.data 등 실제 데이터 배열을 반환
}
},
columns: [
{ "data": "seq", "width":"7%", "className": "dt-type-center" }, //번호
{ "data": "reg_date", "width":"15%", "className": "dt-type-center" }, //작성일
{ "data": "nickname", "width":"10%", "className": "dt-type-center" }, //작성자
{ "data": "type", "width":"10%", "className": "dt-type-center" },//구분
{ "data": "company_name", "width":"15%", "className": "dt-type-center" },//거래처명 (예금주명)
{ "data": "bank", "width":"15%", "className": "dt-type-center" },//은행명
{ "data": "account", "width":"30%", "className": "dt-type-center" },//계좌번호
{ "data": "detail", "width":"50%", "className": "dt-type-center" },//내역(자세히)
{ "data": "total_price", "width":"15%", "className": "dt-type-center",
"render": function (data, type, row) {
return Number(row.total_price).toLocaleString('ko-KR');
}
},//총금액(vat포함)
{ "data": "memo", "width":"10%", "className": "dt-type-center" },//비고
{ "data": "gwstatus",
"width":"10%",
"className": "dt-type-center",
"render": function (data, type, row) {
if (row.status === '완료' && row.gwstatus && row.gwstatus.startsWith('http')) {
return '<a href="' + row.gwstatus + '" target="_gw" class="text-primary" onclick="window.open(this.href, \'NeosMain\', \'width=750,height=900,left=50,top=50,scrollbars=1,resizable=1\'); return false;" class="gw_status gw_status_90" title="' + row.title + '">완료</a>';
} else {
return '진행중';
}
}
},//결제현황 gwstatus
{ "data": "status", "width":"10%", "className": "dt-type-center" },//결과
{ "data": "date", "width":"15%", "className": "dt-type-center" }//출금완료일
],
language: {
url: "//cdn.datatables.net/plug-ins/1.10.24/i18n/Korean.json"
}
});
}
function typeList(){
$.ajax({
url: "<?=base_url()?>accounting/withdraw/typelist",
type: "GET",
dataType: "json",
contentType: 'application/json; charset=utf-8',
success: function(data) {
let $container = $('#type_row');
let i=0;
$.each(data, function() {
let $colDiv = $('<div class="col"></div>');
let $innerDiv = $('<div class="inner"></div>');
let $button = $('<button type="button" onclick=setVal("'+data[i]['type']+'","type") value="'+data[i]['type']+'"></button>').text(data[i]['type']);
$innerDiv.append($button);
$colDiv.append($innerDiv);
$container.append($colDiv);
i++;
});
}
});
}
function userList(){
$.ajax({
url: "<?=base_url()?>accounting/withdraw/userlist",
type: "GET",
dataType: "json",
contentType: 'application/json; charset=utf-8',
success: function(data) {
let $container = $('#nickname_row');
let i=0;
$.each(data, function() {
let $colDiv = $('<div class="col"></div>');
let $innerDiv = $('<div class="inner"></div>');
let $button = $('<button type="button" onclick=setVal("'+data[i]['id']+'","userid")></button>').text(data[i]['nickname']);
$innerDiv.append($button);
$colDiv.append($innerDiv);
$container.append($colDiv);
i++;
});
}
});
}
function setVal(val,id){
$("#"+id).val(val);
logTable.ajax.reload();//getList();
}
$('body').on('click', '.client-list button', function() {
$(this).toggleClass('active');
logTable.ajax.reload();//getList();
});
function excel(){
var data = $(".search").serialize();
$.ajax({
url: "<?=base_url()?>accounting/withdraw/excel",
type: "POST",
data:data,
contentType: 'application/json; charset=utf-8',
xhrFields: {
responseType: 'blob' // 바이너리 데이터로 응답 받기
},
success: function(response, status, xhr) {
const contentType = xhr.getResponseHeader('Content-Type');
if (contentType && contentType.indexOf('application/json') !== -1) {
// 응답이 JSON인 경우
if(response.status == 'error') {
alert(response.message);
}
} else {
// 응답이 Blob인 경우
const blob = new Blob([response], { type: contentType });
const url = window.URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = `출금요청_<?=date('Y-m-d_H-i-s')?>.xlsx`;
document.body.appendChild(a);
a.click();
window.URL.revokeObjectURL(url);
}
},
error: function(xhr, status, error) {
console.log(xhr, status, error)
alert(xhr, status, error);
}
});
}
</script>
<?=$this->endSection();?>
<!--푸터-->
<?=$this->section('footer');?>
<?=$this->endSection();?>
@@ -0,0 +1,221 @@
<?=$this->extend('templates/front.php');?>
<?=$this->section('title');?>
ZENITH - 회계 관리 / 출금요청
<?=$this->endSection();?>
<!--헤더-->
<?=$this->section('header');?>
<script>
console.log('header')
</script>
<?=$this->endSection();?>
<!--바디-->
<?=$this->section('body');?>
<?=$this->endSection();?>
<!--컨텐츠영역-->
<?=$this->section('content');?>
<div class="sub-contents-wrap">
<div class="title-area">
<h2 class="page-title">출금요청 - 업체목록</h2>
</div>
<div class="search-wrap">
<form class="search d-flex justify-content-center">
<input type="hidden" id="userid" name="userid">
<div class="term d-flex align-items-center">
<label>
<input type="text" name="sdate" id="sdate" value="<?= date("Y-m-d", strtotime('-1 month')) ?>" readonly="readonly">
<i class="bi bi-calendar2-week"></i>
</label>
<span> ~ </span>
<label>
<input type="text" name="edate" id="edate" value="<?= date("Y-m-d") ?>" readonly="readonly">
<i class="bi bi-calendar2-week"></i>
</label>
</div>
<select class="form-select" id="stx_opt" name="stx_opt" aria-label="선택">
<option value="" selected>-선택-</option>
<option value="company">-거래처명</option>
<option value="no">계좌번호</option>
</select>
<div class="input ml15">
<input class="" type="text" id="stx" name="stx" placeholder="검색어를 입력하세요">
<button class="btn-primary" type="submit">조회</button>
</div>
</form>
</div>
<div class="section client-list biz">
<h3 class="content-title toggle"><i class="bi bi-chevron-up"></i> 담당자</h3>
<div class="row" id="nickname_row" name="nickname_row"></div>
</div>
<div class="section ">
<div class="btn-wrap text-end mb-2">
<button type="button" class="btn btn-danger">업체등록(출금요청)</button>
<button type="button" class="btn btn-danger" onclick="location.href='<?=base_url()?>accounting/withdraw/'">리스트(출금요청)</button>
</div>
<div class="table-responsive">
<table class="table table-striped table-hover table-default table-sm">
<colgroup>
<col style="">
<col style="width:8%">
<col style="width:15%">
<col style="width:5%">
<col style="width:15%">
<col style="width:5%">
</colgroup>
<thead class="table-dark">
<tr>
<th scope="col">거래처명(예금주명)</th>
<th scope="col">은행</th>
<th scope="col">계좌번호</th>
<th scope="col">작성자</th>
<th scope="col">작성일</th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
<tr>
<td>(주)당금페이_상상의원3_21783</td>
<td>기업은행</td>
<td>0492173819374</td>
<td>윤재진</td>
<td>2023-03-02 :11:34:23</td>
<td>
<button type="button" class="btn btn-dark btn-sm">DEL</button>
</td>
</tr>
<tr>
<td>(주)당금페이_상상의원3_21783</td>
<td>기업은행</td>
<td>0492173819374</td>
<td>윤재진</td>
<td>2023-03-02 :11:34:23</td>
<td>
<button type="button" class="btn btn-dark btn-sm">DEL</button>
</td>
</tr>
<tr>
<td>(주)당금페이_상상의원3_21783</td>
<td>기업은행</td>
<td>0492173819374</td>
<td>윤재진</td>
<td>2023-03-02 :11:34:23</td>
<td>
<button type="button" class="btn btn-dark btn-sm">DEL</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<?=$this->endSection();?>
<!--스크립트-->
<?=$this->section('script');?>
<script>
$(document).ready(function() {
userList();
accountList();
});
setDate('#sdate, #edate'); // 범위 날짜 선택기 - 출금요청
// 범위 날짜 선택기
function setDate(selector) {
$(selector).daterangepicker({
locale: {
"format": 'YYYY-MM-DD', // 일시 노출 포맷
"applyLabel": "확인", // 확인 버튼 텍스트
"cancelLabel": "취소", // 취소 버튼 텍스트
"daysOfWeek": ["일", "월", "화", "수", "목", "금", "토"],
"monthNames": ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"]
},
alwaysShowCalendars: true, // 시간 노출 여부
showDropdowns: true, // 년월 수동 설정 여부
autoApply: true, // 확인/취소 버튼 사용여부
maxDate: new Date(),
autoUpdateInput: false,
ranges: {
'오늘': [moment(), moment()],
'어제': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'지난 일주일': [moment().subtract(6, 'days'), moment()],
'지난 한달': [moment().subtract(29, 'days'), moment()],
'이번달': [moment().startOf('month'), moment().endOf('month')],
}
}, function (start, end, label) {
// Lets update the fields manually this event fires on selection of range
startDate = start.format('YYYY-MM-DD'); // selected start
endDate = end.format('YYYY-MM-DD'); // selected end
$checkinInput = $(selector.split(',')[0]);
$checkoutInput = $(selector.split(',')[1]);
// Updating Fields with selected dates
$checkinInput.val(startDate);
$checkoutInput.val(endDate);
// Setting the Selection of dates on calender on CHECKOUT FIELD (To get this it must be binded by Ids not Calss)
var checkOutPicker = $checkoutInput.data('daterangepicker');
checkOutPicker.setStartDate(startDate);
checkOutPicker.setEndDate(endDate);
// Setting the Selection of dates on calender on CHECKIN FIELD (To get this it must be binded by Ids not Calss)
var checkInPicker = $checkinInput.data('daterangepicker');
checkInPicker.setStartDate($checkinInput.val(startDate));
checkInPicker.setEndDate(endDate);
});
}
function userList(){
$.ajax({
url: "<?=base_url()?>accounting/withdraw/userlist",
type: "GET",
dataType: "json",
contentType: 'application/json; charset=utf-8',
success: function(data) {
let $container = $('#nickname_row');
let i=0;
$.each(data, function() {
let $colDiv = $('<div class="col"></div>');
let $innerDiv = $('<div class="inner"></div>');
let $button = $('<button type="button" onclick=setVal("'+data[i]['id']+'","userid")></button>').text(data[i]['nickname']);
$innerDiv.append($button);
$colDiv.append($innerDiv);
$container.append($colDiv);
i++;
});
}
});
}
function accountList(){
var data=$(".search").serialize();
$.ajax({
url: "<?=base_url()?>accounting/withdrawList/accountlist",
type: "POST",
data: data,
dataType: "json",
contentType: 'application/json; charset=utf-8',
success: function(data) {
console.log(data);
}
});
}
function setVal(val,id){
$("#"+id).val(val);
getList();
}
</script>
<?=$this->endSection();?>
<!--푸터-->
<?=$this->section('footer');?>
<?=$this->endSection();?>
@@ -0,0 +1,76 @@
<?=$this->extend('templates/front.php');?>
<?=$this->section('title');?>
ZENITH - 회계 관리 / 출금요청
<?=$this->endSection();?>
<!--헤더-->
<?=$this->section('header');?>
<script>
console.log('header')
</script>
<?=$this->endSection();?>
<!--바디-->
<?=$this->section('body');?>
<?=$this->endSection();?>
<!--컨텐츠영역-->
<?=$this->section('content');?>
<div class="sub-contents-wrap">
<div class="title-area">
<h2 class="page-title">출금요청 - 업체등록(출금요청)</h2>
</div>
<div>
<div class="section">
샘플
</div>
<div class="section">
<form class="search d-flex justify-content-center">
<select required class=''>
<option value=''>-선택-</option>
<option value='BOA은행'> BOA은행</option>
<option value='SC제일은행'>SC제일은행</option>
<option value='KDB산업은행'>KDB산업은행</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>
<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>
<option value='제주은행'>제주은행</option>
<option value='카카오뱅크'>카카오뱅크</option>
<option value='케이뱅크'>케이뱅크</option>
<option value='토스뱅크'>토스뱅크</option>
<option value='하나은행'>하나은행</option>
<option value='한국씨티은행'>한국씨티은행</option>
</select>
</form>
</div>
</div>
</div>
<?=$this->endSection();?>
<!--스크립트-->
<?=$this->section('script');?>
<script>
$(document).ready(function() {
});
</script>
<?=$this->endSection();?>
<!--푸터-->
<?=$this->section('footer');?>
<?=$this->endSection();?>