|
|
@@ -34,18 +34,18 @@ let modalText = null;
|
|
|
let modalCancelBtn = null;
|
|
|
let modalCancleIcon = null;
|
|
|
|
|
|
-const updateData = {
|
|
|
- address : null,
|
|
|
- coordx : null,
|
|
|
- coordy : null,
|
|
|
- eaddress : null,
|
|
|
- elocation : null,
|
|
|
- location : null,
|
|
|
- parkingcnt : null,
|
|
|
- parkingename: null,
|
|
|
- parkingid : null,
|
|
|
- parkingname : null,
|
|
|
- phone : null
|
|
|
+const updateDataColumns = {
|
|
|
+ address : null,
|
|
|
+ coordx : null,
|
|
|
+ coordy : null,
|
|
|
+ eaddress : null,
|
|
|
+ elocation : null,
|
|
|
+ location : null,
|
|
|
+ parkingcnt : null,
|
|
|
+ parkingename : null,
|
|
|
+ parkingid : null,
|
|
|
+ parkingname : null,
|
|
|
+ phone : null
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -362,9 +362,6 @@ const btnArr = [
|
|
|
visible : true,
|
|
|
icon : "save",
|
|
|
text : "저장",
|
|
|
- method : function(){
|
|
|
- saveEvent();
|
|
|
- }
|
|
|
},
|
|
|
|
|
|
]
|
|
|
@@ -372,6 +369,7 @@ getData( commonUri, _managerData);
|
|
|
|
|
|
idArr = getIdArray(idArr);
|
|
|
$(()=>{
|
|
|
+ //주차장 ID 추가 하기 위한 div 생성
|
|
|
$("body").append(modalDiv);
|
|
|
$(".modal-title").prepend($("<div>주차장ID</div>"));
|
|
|
$(".modal-background").css("display",'none');
|
|
|
@@ -390,6 +388,7 @@ $(()=>{
|
|
|
}
|
|
|
}).dxButton("instance")
|
|
|
|
|
|
+ //화면에 텍스트 상자 세팅
|
|
|
inputArr.map((item)=>{
|
|
|
if(item.no){
|
|
|
item.box = $("." + item.column).dxNumberBox({
|
|
|
@@ -420,6 +419,7 @@ $(()=>{
|
|
|
|
|
|
})
|
|
|
|
|
|
+ //화면에 버튼 세팅
|
|
|
btnArr.map((item)=>{
|
|
|
item.box = $("." + item.class).dxButton({
|
|
|
icon : item.icon,
|
|
|
@@ -437,11 +437,16 @@ $(()=>{
|
|
|
}).dxButton("instance");
|
|
|
})
|
|
|
|
|
|
+ //맵 세팅
|
|
|
doMap();
|
|
|
+
|
|
|
+ //주차장 목록 데이터 수신
|
|
|
getData( commonUri, _managerData);
|
|
|
+
|
|
|
+ //맵 icon 정보 업데이트
|
|
|
updateIcon();
|
|
|
|
|
|
- //소통정보 이력분석 테이블
|
|
|
+ //주차장 목록 테이블
|
|
|
_managerTable = $(".manager-table").width('100%').height('100%').dxDataGrid({
|
|
|
dataSource : _managerData[0],
|
|
|
allowColumnReordering : true,
|
|
|
@@ -527,7 +532,7 @@ $(()=>{
|
|
|
}
|
|
|
}).dxButton("instance")
|
|
|
|
|
|
- //휴일 선택 모달 x 버튼
|
|
|
+ //모달 x 버튼
|
|
|
modalCancleIcon = $(".modal-cancle").dxButton({
|
|
|
stylingMode:'text',
|
|
|
icon:'close',
|
|
|
@@ -537,6 +542,7 @@ $(()=>{
|
|
|
}).dxButton("instance")
|
|
|
})
|
|
|
|
|
|
+//편집 모드 활성화
|
|
|
function editEvent(){
|
|
|
cancleBtn.box.off('click');
|
|
|
cancleBtn.box.on('click', () => editCancle());
|
|
|
@@ -546,10 +552,14 @@ function editEvent(){
|
|
|
btnArr.map((item)=>{
|
|
|
item.box.option( 'visible', item.edit.click.visible );
|
|
|
item.box.option( 'disabled', item.edit.click.disabled );
|
|
|
- })
|
|
|
+ });
|
|
|
+
|
|
|
+ saveBtn.box.off('click');
|
|
|
+ saveBtn.box.on('click', () => saveEvent('edit'));
|
|
|
}
|
|
|
|
|
|
-function saveEvent(){
|
|
|
+//저장 이벤트(type = 수정, 추가)
|
|
|
+function saveEvent(type){
|
|
|
switch (true) {
|
|
|
case nullChecker(pkNm.box.option("value")) === "":
|
|
|
alertWarning('주차장 명을 입력해주세요', null, pkNm.box);
|
|
|
@@ -563,14 +573,28 @@ function saveEvent(){
|
|
|
case Number(coordy.box.option('value')) === 0:
|
|
|
alertWarning('x좌표를 입력해주세요', null, coordy.box);
|
|
|
return false;
|
|
|
+ case getValue(phone.box) && !/^0([0-9]{1,2})[-]{1}([0-9]{3,4})[-]{1}([0-9]{4})$/.test(getValue(phone.box)):
|
|
|
+ alertWarning('전화번호 형식에 맞게 입력해주세요', null, phone.box);
|
|
|
+ return false;
|
|
|
default:
|
|
|
- for( let key in updateData ){
|
|
|
- updateData[key] = null;
|
|
|
+
|
|
|
+ let updateData = {...updateDataColumns};
|
|
|
+
|
|
|
+ if (type === 'edit') {
|
|
|
+ // 수정모드일 경우에는....
|
|
|
+ const rowData = _managerTable.getSelectedRowsData()[0];
|
|
|
+ for (let key in updateData) {
|
|
|
+ updateData[key] = rowData[key];
|
|
|
+ }
|
|
|
+ console.log('edit mode...')
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
inputArr.map((item)=>{
|
|
|
- if(item.column && nullChecker(item.box.option("value")) !== "") updateData[item.column] = item.box.option("value");
|
|
|
- })
|
|
|
+ if (item.column && nullChecker(item.box.option("value")) !== "") {
|
|
|
+ updateData[item.column] = item.box.option("value");
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
//ctrlIpNum
|
|
|
let result = postInsertUpdate(commonUri + "/" + updateData.parkingid, updateData);
|
|
|
|
|
|
@@ -586,7 +610,6 @@ function saveEvent(){
|
|
|
buttonReset('add','selected');
|
|
|
idArr = [];
|
|
|
idArr = getIdArray(idArr);
|
|
|
-
|
|
|
})
|
|
|
|
|
|
});
|
|
|
@@ -597,12 +620,14 @@ function saveEvent(){
|
|
|
|
|
|
}
|
|
|
|
|
|
+//편집 모드 취소
|
|
|
function editCancle(){
|
|
|
eventCancle();
|
|
|
boxPull();
|
|
|
buttonReset( 'edit', 'cancle' );
|
|
|
}
|
|
|
|
|
|
+//추가 모드 취소
|
|
|
function addCancle(){
|
|
|
|
|
|
eventCancle();
|
|
|
@@ -618,6 +643,7 @@ function addCancle(){
|
|
|
|
|
|
}
|
|
|
|
|
|
+//추가 모드
|
|
|
function addEvent(){
|
|
|
$(".modal-background").css("display",'flex');
|
|
|
eventOn();
|
|
|
@@ -630,38 +656,39 @@ function addEvent(){
|
|
|
btnArr.map((item)=>{
|
|
|
item.box.option( 'visible', item.add.click.visible );
|
|
|
item.box.option( 'disabled', item.add.click.disabled );
|
|
|
- })
|
|
|
+ });
|
|
|
+
|
|
|
+ saveBtn.box.off('click');
|
|
|
+ saveBtn.box.on('click', () => saveEvent());
|
|
|
|
|
|
}
|
|
|
|
|
|
+//주차장 목록 선택 된 값 우측 텍스트 상자 세팅
|
|
|
function boxPull(){
|
|
|
-
|
|
|
let selectedRow = _managerTable.getSelectedRowsData()[0];
|
|
|
inputArr.map((item)=>{
|
|
|
item.box.option('value', selectedRow[item.column]);
|
|
|
- })
|
|
|
-
|
|
|
-
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
+//우측 텍스트 상자 비우기
|
|
|
function boxInit(){
|
|
|
-
|
|
|
inputArr.map((item)=>{
|
|
|
if(item.value) return item.box.option('value', item.value);
|
|
|
if(item.no) return item.box.option('value','0');
|
|
|
item.box.option("value", null);
|
|
|
- })
|
|
|
-
|
|
|
-
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
+//버튼 비활성화
|
|
|
function buttonReset(eventName, option){
|
|
|
btnArr.map((item)=>{
|
|
|
item.box.option( 'visible', item[eventName][option].visible );
|
|
|
item.box.option( 'disabled', item[eventName][option].disabled );
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
+//이벤트 비활성화
|
|
|
function eventCancle(){
|
|
|
updateIcon();
|
|
|
dsblOffBtn(_managerTable);
|
|
|
@@ -675,16 +702,16 @@ function eventCancle(){
|
|
|
};
|
|
|
}
|
|
|
|
|
|
+//이벤트 활성화
|
|
|
function eventOn(){
|
|
|
-
|
|
|
dsblOnBtn(_managerTable);
|
|
|
|
|
|
inputArr.map((item)=>{
|
|
|
item.box.option("disabled", item.disabled);
|
|
|
})
|
|
|
-
|
|
|
}
|
|
|
|
|
|
+//기존 아이디 값들 배열로 돌려받는 함수
|
|
|
function getIdArray(array){
|
|
|
if(_managerData.length > 0){
|
|
|
_managerData[0].map((item)=>{
|
|
|
@@ -694,6 +721,7 @@ function getIdArray(array){
|
|
|
return array;
|
|
|
}
|
|
|
|
|
|
+//아이디값 유효성 검사
|
|
|
function idValCheck(){
|
|
|
let pkIdVal = $.trim(modalText.option('value'));
|
|
|
|
|
|
@@ -746,6 +774,7 @@ function idValCheck(){
|
|
|
_mapManager.onFcltDragEndFunc = onFcltDragEndFunc; // 객체(시설물) 편집시 객체 이동후 좌표 반환
|
|
|
_mapManager.onMouseClickFunc = onMouseClickFunc; // 객체 마우스 클릭 이벤트 반환
|
|
|
fetchMapIconBar($('.map-bar'), _mapManager, _lyrIdx, _pageName);
|
|
|
+
|
|
|
}
|
|
|
function onFcltDragEndFunc(ALyrIdx, ALyrName, ANmbr, ACoordX, ACoordY) {
|
|
|
if (ALyrIdx != _lyrIdx) {
|
|
|
@@ -799,7 +828,7 @@ function addFcltObject(ANmbr) {
|
|
|
_mapManager.createFcltObject(_lyrIdx, ANmbr, "New", "New", "1" /*아이콘색결정,시설물유형_N.png*/ /*, x_crdn, y_crdn*/);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+//x,y 좌표 변경 시 유효성 맞춰주는 이벤트
|
|
|
function crdnChanges(text, num){
|
|
|
let value = text.value;
|
|
|
const textBox = text.component
|