Initial import from local backup (Documents-Playground/pakerpale)
This commit is contained in:
398
application/views/pages/place/church.php
Normal file
398
application/views/pages/place/church.php
Normal file
@@ -0,0 +1,398 @@
|
||||
<div class="content-header row">
|
||||
<h1> 교회정보 </h1>
|
||||
</div>
|
||||
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.css">
|
||||
<style>
|
||||
.modal-dialog {
|
||||
margin: 30px auto;
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
position: relative;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
.close {
|
||||
position: absolute;
|
||||
right: -30px;
|
||||
top: 0;
|
||||
z-index: 999;
|
||||
font-size: 2rem;
|
||||
font-weight: normal;
|
||||
color: #fff;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.operate-btn {
|
||||
cursor: pointer
|
||||
}
|
||||
</style>
|
||||
<div id="dsItemListTableTool">
|
||||
<div class="form-inline" role="form">
|
||||
<input type="text" class="form-control keyword-search-input" name="keyword">
|
||||
<button type="submit" class="btn btn-primary podbbang-search-btn">검색</button>
|
||||
</div>
|
||||
</div>
|
||||
<table class="order-table fill table-condensed cm-place-table" data-page-size="50" data-page-list="[50,100,250,500,1000]" data-toolbar="#dsItemListTableTool" data-method="post" data-side-pagination="server" data-pagination="true" data-show-export="true" data-export-types="['excel','sheet']" data-show-refresh="true" data-show-columns="true" data-pagination-v-align="both" data-click-to-select="true" data-single-select="true" data-sort-name="vcDateCreated" data-sort-order="desc" data-url="/crawls/place/church_table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th data-field="state" data-checkbox="true"></th>
|
||||
<th data-field="Name" data-align="left">교회명</th>
|
||||
<th data-field="Pastor" data-align="left">담임목사</th>
|
||||
<th data-field="Facebook" data-align="left" data-formatter="snsFormatter">SNS</th>
|
||||
<th data-field="RoadAddress" data-align="left" data-formatter="addressFormatter">주소</th>
|
||||
<th data-field="Phone" data-align="left">전화</th>
|
||||
<th data-field="CreatedAt" data-align="left">등록시간</th>
|
||||
<th data-field="CreatedAt" data-formatter="operateFormatter" data-event="churchEditFormatter">등록시간</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
|
||||
<div class="modal cm-modal-map" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title cm-modal-map-title">Modal title</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div id="cm-map" style="width:585px;height:400px;margin-left:7px;"></div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade cm-modal-church" role="dialog" aria-labelledby="cm-modal-church">
|
||||
<div class="modal-dialog modal-md" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">교회정보</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="col-sm-12">
|
||||
<form class="form-horizontal">
|
||||
<input type="hidden" class="cm-nid">
|
||||
<div class="form-group"></div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">교회명</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control cm-church-name">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">담임목사</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control cm-church-pastor">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">주소</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control cm-church-address">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">전화</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control cm-church-phone">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
||||
<label class="col-sm-2 control-label">홈페이지</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control cm-church-homepage">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">유튜브</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control cm-church-youtube">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">트위터계정</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control cm-church-twitter">
|
||||
</div>
|
||||
|
||||
<label class="col-sm-2 control-label">페북계정</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control cm-church-facebook">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">카카오계정</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control cm-church-kakao">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">인스타계정</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control cm-church-instagram">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">네이버카페</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control cm-church-navercafe">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">다음카페</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control cm-church-daumcafe">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">예배시간 </label>
|
||||
<a class="btn btn-default col-sm-2 pull-left cm-church-serviceinfo-add">입력추가</a>
|
||||
</div>
|
||||
|
||||
<div class="form-group cm-church-serviceinfo" style="display:none">
|
||||
<div class="col-sm-3">
|
||||
<input type="text" class="form-control cm-church-servicename" placeholder="예배명">
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<select type="btn btn-default" class="form-control cm-church-dayname">
|
||||
<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="col-sm-3">
|
||||
<select type="btn btn-default" class="form-control cm-church-servicechapter">
|
||||
<option value="">회차</option>
|
||||
<option value="1부">1부</option>
|
||||
<option value="2부">2부</option>
|
||||
<option value="3부">3부</option>
|
||||
<option value="4부">4부</option>
|
||||
<option value="5부">5부</option>
|
||||
<option value="6부">6부</option>
|
||||
<option value="7부">7부</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-sm-3" style="position: relative; z-index: 100000;">
|
||||
<input type="text" class="form-control cm-church-servicetime">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer selamat-text-center">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">취소</button>
|
||||
<button type="button" class="btn btn-primary cm-church-save">저장</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<script src="/assets/alt/plugins/jQuery/jquery-2.2.3.min.js"></script>
|
||||
<script src="/assets/alt/bootstrap/js/bootstrap.min.js"></script>
|
||||
<script src="/assets/js/select2.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.11.0/bootstrap-table.min.js" integrity="sha256-eXHLyyVI+v6X1wbfg9NB05IWqOqY4E9185nHZgeDIhg=" crossorigin="anonymous"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.11.0/locale/bootstrap-table-ko-KR.min.js" integrity="sha256-Yb64uCOu811SJG/6YP+DHrXfkk0cEq9FI2aDHKrXsFA=" crossorigin="anonymous"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.min.js" integrity="sha256-bqVeqGdJ7h/lYPq6xrPv/YGzMEb6dNxlfiTUHSgRCp8=" crossorigin="anonymous"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/timepicker/1.3.5/jquery.timepicker.min.js"></script>
|
||||
<script type="text/javascript" src="//dapi.kakao.com/v2/maps/sdk.js?appkey=b9da5412e3022dcc1e02c67c53e6269e"></script>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
$(function() {
|
||||
$('.cm-church-serviceinfo-add').on('click', function(e) {
|
||||
var infoSample = $('.cm-church-serviceinfo').eq(0)
|
||||
var info = infoSample.clone(true)
|
||||
info.addClass('cm-church-serviceinfo-data')
|
||||
infoSample.after(info)
|
||||
info.find('.cm-church-servicetime').timepicker({
|
||||
timeFormat: 'HH:mm',
|
||||
interval: 10,
|
||||
minTime: '1',
|
||||
maxTime: '11:50pm',
|
||||
defaultTime: '10',
|
||||
startTime: '5:00',
|
||||
dynamic: false,
|
||||
dropdown: true,
|
||||
scrollbar: true
|
||||
});
|
||||
info.show()
|
||||
})
|
||||
|
||||
tableActionButtons = $('.table-action-buttons')
|
||||
var categoryOptions = tableActionButtons.find('select option');
|
||||
|
||||
addressFormatter = function(value, row, index) {
|
||||
// return '<a href="https://map.naver.com/v5/search/'+encodeURIComponent(row.Name)+'?c='+row.Y+','+row.X+'" target="_blank">' + (row.RoadAddress ? row.RoadAddress : row.Address) + '</a>'
|
||||
|
||||
return '<a href="https://www.google.co.kr/maps/search/' + row.Address + '/@' + row.Y + ',' + row.X + ',20.75z?hl=ko" target="_blank" class="cm-address2map" data-place-id="' + index + '">' + row.Address + '</a>'
|
||||
}
|
||||
|
||||
operateFormatter = function(value, row, index) {
|
||||
var operateBtns = [
|
||||
'<a class="edit operate-btn" title="Edit" data-place-id="' + index + '">',
|
||||
'<i class="glyphicon glyphicon-edit"></i>',
|
||||
'</a> ',
|
||||
'<a class="remove operate-btn" title="Remove">',
|
||||
'<i class="glyphicon glyphicon-remove"></i>',
|
||||
'</a>'
|
||||
];
|
||||
return operateBtns.join('');
|
||||
}
|
||||
|
||||
snsFormatter = function(value, row, index) {
|
||||
var operateBtns = [
|
||||
row.Youtube ? '<a class="btn btn-default">YT</a> ' : '',
|
||||
row.Facebook ? '<a class="btn btn-default">FB</a> ' : '',
|
||||
row.Instagram ? '<a class="btn btn-default">Inst</a> ' : '',
|
||||
row.Kakao ? '<a class="btn btn-default">Kakao</a> ' : '',
|
||||
row.Twitter ? '<a class="btn btn-default">Twit</a>' : ''
|
||||
];
|
||||
return operateBtns.join('');
|
||||
}
|
||||
|
||||
var table = $('.cm-place-table').bootstrapTable()
|
||||
table.on('load-success.bs.table', function(e, data) {
|
||||
$('.cm-address2map').on('click', function(e) {
|
||||
e.preventDefault();
|
||||
var place = table.bootstrapTable('getData')[$(this).data('place-id')];
|
||||
|
||||
$('.cm-modal-map-title').html('<strong style="color:blue">' + place.Name + '</strong> : ' + $(this).text())
|
||||
$('.cm-modal-map').modal('show')
|
||||
|
||||
var container = $('#cm-map').get(0); //지도를 담을 영역의 DOM 레퍼런스
|
||||
|
||||
var options = { //지도를 생성할 때 필요한 기본 옵션
|
||||
center: new kakao.maps.LatLng(place.Y, place.X), //지도의 중심좌표.
|
||||
level: 3 //지도의 레벨(확대, 축소 정도)
|
||||
};
|
||||
|
||||
var map = new kakao.maps.Map(container, options); //지도 생성 및 객체 리턴
|
||||
|
||||
var markerPosition = new kakao.maps.LatLng(place.Y, place.X);
|
||||
var marker = new kakao.maps.Marker({
|
||||
position: markerPosition
|
||||
});
|
||||
marker.setMap(map);
|
||||
|
||||
})
|
||||
$('.table-action-btn').each(function(i, n) {
|
||||
$(n).find('select').on('change', function() {
|
||||
$.post('/crawls/podbbang/category', {
|
||||
category: this.value,
|
||||
id: table.bootstrapTable('getData')[$(n).parents('tr:eq(0)').data('index')].Id
|
||||
}, function(res) {
|
||||
table.bootstrapTable('refresh', {
|
||||
query: {
|
||||
keyword: searchInput.val(),
|
||||
category: $('.podbbang-crawl-category').val()
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
//.find('option[value="' + (data.rows[i] != undefined && data.rows[i].Category != 0 ? data.rows[i].Category : '') + '"]').get(0).selected = true;
|
||||
})
|
||||
|
||||
$('.edit.operate-btn').on('click', function() {
|
||||
var place = table.bootstrapTable('getData')[$(this).data('place-id')];
|
||||
console.log(place)
|
||||
var frm = $('.cm-modal-church').modal('show').find('.cm-nid').val(place.NId).parent()
|
||||
frm.find('.cm-church-name').val(place.Name)
|
||||
frm.find('.cm-church-phone').val(place.Phone)
|
||||
frm.find('.cm-church-address').val(place.Address)
|
||||
|
||||
frm.find('.cm-church-pastor').val(place.Pastor)
|
||||
frm.find('.cm-church-homepage').val(place.Homepage)
|
||||
|
||||
frm.find('.cm-church-twitter').val(place.Twitter)
|
||||
frm.find('.cm-church-facebook').val(place.Facebook)
|
||||
frm.find('.cm-church-kakao').val(place.Kakao)
|
||||
frm.find('.cm-church-instagram').val(place.Instagram)
|
||||
frm.find('.cm-church-navercafe').val(place.NaverCafe)
|
||||
frm.find('.cm-church-daumcafe').val(place.DaumCafe)
|
||||
frm.find('.cm-church-youtube').val(place.Youtube)
|
||||
|
||||
for(var i in place.Services) {
|
||||
if(i > 0) $('.cm-church-serviceinfo-add').trigger('click')
|
||||
var info = $('.cm-church-serviceinfo').next().eq(0)
|
||||
info.find('.cm-church-servicename').val(place.Services[i].Service)
|
||||
info.find('.cm-church-dayname').val(place.Services[i].DayName)
|
||||
info.find('.cm-church-servicechapter').val(place.Services[i].Chapter)
|
||||
info.find('.cm-church-servicetime').val(place.Services[i].StartAt)
|
||||
}
|
||||
|
||||
})
|
||||
})
|
||||
|
||||
$('.cm-modal-church').on('show.bs.modal', function(){
|
||||
$('.cm-church-serviceinfo-add').trigger('click')
|
||||
})
|
||||
|
||||
$('.cm-modal-church').on('hide.bs.modal', function(){
|
||||
$('.cm-church-serviceinfo-data').remove()
|
||||
})
|
||||
|
||||
$('.cm-church-save').on('click', function(e) {
|
||||
var frm = $('.cm-modal-church form');
|
||||
var params = {
|
||||
NId: frm.find('.cm-nid').val(),
|
||||
Name: frm.find('.cm-church-name').val(),
|
||||
Phone: frm.find('.cm-church-phone').val(),
|
||||
Address: frm.find('.cm-church-address').val(),
|
||||
Pastor: frm.find('.cm-church-pastor').val(),
|
||||
Homepage: frm.find('.cm-church-homepage').val(),
|
||||
Twitter: frm.find('.cm-church-twitter').val(),
|
||||
Facebook: frm.find('.cm-church-facebook').val(),
|
||||
Kakao: frm.find('.cm-church-kakao').val(),
|
||||
Instagram: frm.find('.cm-church-instagram').val(),
|
||||
Youtube: frm.find('.cm-church-youtube').val(),
|
||||
NaverCafe: frm.find('.cm-church-navercafe').val(),
|
||||
DaumCafe: frm.find('.cm-church-daumcafe').val(),
|
||||
Services: $.map($('.cm-church-serviceinfo-data'), function(info){
|
||||
info = $(info)
|
||||
return {
|
||||
Service: info.find('.cm-church-servicename').val(),
|
||||
DayName: info.find('.cm-church-dayname').val(),
|
||||
Chapter: info.find('.cm-church-servicechapter').val(),
|
||||
StartAt: info.find('.cm-church-servicetime').val(),
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
$.post('/crawls/place/church_save', params, function(res) {
|
||||
if (res.code == 200) {
|
||||
alert('Saved successfully');
|
||||
table.bootstrapTable('refresh');
|
||||
$('.cm-modal-church').modal('hide')
|
||||
}
|
||||
}, 'json')
|
||||
|
||||
})
|
||||
var searchInput = $('.keyword-search-input').keyup(function(e) {
|
||||
if (e.keyCode == 13) {
|
||||
searchBtn.trigger('click')
|
||||
}
|
||||
})
|
||||
|
||||
var searchBtn = $('.podbbang-search-btn').on('click', function() {
|
||||
table.bootstrapTable('refresh', {
|
||||
query: {
|
||||
keyword: searchInput.val(),
|
||||
category: $('.podbbang-crawl-category').val()
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
})
|
||||
</script>
|
||||
Reference in New Issue
Block a user