123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759 |
- /*dd*
- * admin/menu
- */
- var mplus_admin_attr = function( language_code ){
- //상속
- mplus_admin.call(this);
-
- var self = this;
- //언어코드
- var DEFAULT_LANGUAGE = language_code;
- //변수
- var $sltAttrType = $('#sltAttrType'),
- $txtAttrId = $('#txtAttrId'),
- $txtAttrName = $('#txtAttrName'),
- $sltUpperAttr = $('#sltUpperAttr'),
- $txtExtraAttrId = $('#txtExtraAttrId'),
- $txtExtraAttrName = $('#txtExtraAttrName'),
- $txtExtraAttrDesc = $('#txtExtraAttrDesc'),
- $btnSave_attr = $('#btnSave_attr'),
- $btnRemove_attr = $('#btnRemove_attr'),
- $btnSave_extraAttr = $('#btnSave_extraAttr'),
- $btnRemove_extraAttr = $('#btnRemove_extraAttr'),
- $sltUser = $('#sltUser'),
- $txtSearch = $('#txtSearch'),
- $btnSearch = $('#btnSearch'),
- $btnEditExtraAttrUser = $('#btnEditExtraAttrUser'),
- $btnSaveExtraAttrUser = $('#btnSaveExtraAttrUser'),
- $attrCrudServiceBaseUrl = contextPath + '/admin/attr',
- $crudServiceBaseUrl = contextPath + '/admin/extraAttr',
- $userAttrCrudServiceBaseUrl = contextPath + '/admin/userAttr'; //속성 관련 요청을 위해 별도로 작성
-
- var attrTypeList = [];
- var attrList = [];
- var attrInfo;
- var extraAttrList = [];
- var extraAttrUserList = [];
- var extraAttrUserEditList = [];
- var userList = [];
- var extraAttrInfo;
- var totalCount = 0;
- var pageSize = 15;
- /**
- * 객체 초기화
- */
- this.init = function(){
- initDropdownList();
- initAttrList($('#sltAttrType option:first').val(), 'attrType');
- initExtraAttrList();
- //설명 글자수 이벤트 - core에 선언
- self.checkDescBytes($txtExtraAttrDesc);
- addEvent();
-
- if($('#table_attr tr[seq=0]')[0]==undefined){
- $('#attrDetail').css('display', 'none');
- $('#attrDetailEmpty').css('display', 'block');
- }else{
- $('#table_attr tr[seq=0]').click();
- };
-
- if($('#table_extraAttr tr[seq=0]')[0]==undefined){
- $('#extraAttrDetail').css('display', 'none');
- $('#extraAttrDetailEmpty').css('display', 'block');
- }else{
- $('#table_extraAttr tr[seq=0]').click();
- }
-
- };
-
- var initDropdownList = function(){
- var opt = {
- url: $attrCrudServiceBaseUrl + "/getAttrTypeList.json",
- type : "post",
- async: false,
- dataType: "json",
- contentType: "application/json"
- }
-
- var success = function(result){
- attrTypeList = result.attrTypeList;
- $sltAttrType.empty();
-
- for(var i=0; i<attrTypeList.length; i++){
- if(attrTypeList[i].attrType!='extra'){
- var option = $('<option></option>').clone().attr('value', attrTypeList[i].attrType).text(attrTypeList[i].attrTypeName);
- $('#sltAttrType').append(option);
- };
- };
-
- $sltAttrType.on('change', function(e){
- /*getExtraAttrInfo(e.currentTarget.attributes.seq.value);
- $('#table_extraAttr tr').removeClass('active');
- $(this).addClass('active');*/
- $('#table_attr').empty();
- initAttrList(e.currentTarget.value, 'attrType');
- if(e.currentTarget.value=='work'){
- $('#divUpperAttr').css('display', 'block');
- initAttrList('duty', 'upperAttr');
- }else{
- $('#divUpperAttr').css('display', 'none');
- }
- });
- }
-
- var error = function(xhr,d,t){
- console.log(xhr);
- console.log(t);
- };
- self.ajaxAdmin( opt, success, error );
- };
-
- var initAttrList = function(attrType, sltType){
- var opt = {
- url: $attrCrudServiceBaseUrl + "/getAttrList.json",
- type : "post",
- async: false,
- dataType: "json",
- contentType: "application/json",
- data: self.util.stringifyJson({
- attrType: attrType
- })
- }
-
- var success = function(result){
- if(sltType=='attrType'){
- attrList = result.attrList;
- $('#table_attr').empty();
- $txtAttrId.val('');
- $txtAttrName.val('');
- $sltUpperAttr.val('');
- attrInfo = {};
-
- for(var i=0; i<attrList.length; i++){
- var tr = $('<tr></tr>').clone().attr('seq', i).attr('attrSeq', attrList[i].attrSeq).attr('attrId', attrList[i].attrId);
- var tdAttrId = $('<td></td>').clone().text(attrList[i].attrId);
- var tdAttrName = $('<td></td>').clone().text(attrList[i].attrName);
-
- $('#table_attr').append(tr.append(tdAttrId).append(tdAttrName));
- };
-
- $('#table_attr tr').on('click', function(e){
- getAttrInfo(e.currentTarget.attributes.seq.value);
- $('#table_attr tr').removeClass('active');
- $(this).addClass('active');
- });
- }else{
- var upperAttrList = result.attrList;
- $('#sltUpperAttr').empty();
- var option = $('<option></option>').clone().attr('value', '').text('선택');
- $('#sltUpperAttr').append(option);
-
- for(var i=0; i<upperAttrList.length; i++){
- var option = $('<option></option>').clone().attr('value', upperAttrList[i].attrId).text(upperAttrList[i].attrName);
- $('#sltUpperAttr').append(option);
- };
- };
-
- if($('#table_attr tr[seq=0]')==undefined){
- $('#attrDetail').css('display', 'none');
- $('#attrDetailEmpty').css('display', 'block');
- }else{
- $('#table_attr tr[seq=0]').click();
- };
- }
-
- var error = function(xhr,d,t){
- console.log(xhr);
- console.log(t);
- };
- self.ajaxAdmin( opt, success, error );
- };
-
- var initExtraAttrList = function(){
- var opt = {
- url: $crudServiceBaseUrl + "/getList.json",
- type : "post",
- async: false,
- dataType: "json",
- contentType: "application/json"
- }
-
- var success = function(result){
- extraAttrList = result;
- totalCount = result.totalCount;
- $('#table_extraAttr').empty();
-
- for(var i=0; i<extraAttrList.length; i++){
- var tr = $('<tr></tr>').clone().attr('seq', i).attr('extraAttrSeq', extraAttrList[i].extraAttrSeq).attr('extraAttrId', extraAttrList[i].extraAttrId);
- var tdExtraAttrId = $('<td></td>').clone().text(extraAttrList[i].extraAttrId);
- var tdExtraAttrName = $('<td></td>').clone().text(extraAttrList[i].extraAttrName);
-
- $('#table_extraAttr').append(tr.append(tdExtraAttrId).append(tdExtraAttrName));
- };
-
- $('#table_extraAttr tr').on('click', function(e){
- getExtraAttrInfo(e.currentTarget.attributes.seq.value);
- $('#table_extraAttr tr').removeClass('active');
- $(this).addClass('active');
- });
- }
-
- var error = function(xhr,d,t){
- console.log(xhr);
- console.log(t);
- };
- self.ajaxAdmin( opt, success, error );
- };
-
-
- /**
- * 이벤트 등록
- */
- var addEvent = function(){
- $('#btnNew_attr, #btnNewEmpty_attr').on('click', function(e){
- newItemAttr();
- });
- $btnSave_attr.on('click', function(e){
- saveItemAttr();
- });
- $btnRemove_attr.on('click', function(e){
- removeItemAttr();
- });
- $('#btnNew_extraAttr, #btnNewEmpty_extraAttr').on('click', function(e){
- newItemExtraAttr();
- });
- $btnSave_extraAttr.on('click', function(e){
- saveItemExtraAttr();
- });
- $btnRemove_extraAttr.on('click', function(e){
- removeItemExtraAttr();
- });
- $btnEditExtraAttrUser.on('click', function(e){
- editExtraAttrUser();
- });
- $btnSaveExtraAttrUser.on('click', function(e){
- confirmExtraAttrUser();
- });
- $btnSearch.on('click', function(e){
- initUserList(1, $sltUser.val(), $txtSearch.val());
- });
- };
-
- var getAttrInfo = function(seq){
- $txtAttrId.attr('readonly', true);
- attrInfo = attrList[seq];
-
- $txtAttrId.val(attrInfo.attrId);
- $txtAttrName.val(attrInfo.attrName);
- $sltUpperAttr.val(attrInfo.upperAttr);
-
- $('#attrDetail').css('display', 'block');
- $('#attrDetailEmpty').css('display', 'none');
- };
-
- var newItemAttr = function(){
- attrInfo = {};
- $('#table_attr tr').removeClass('active');
-
- $txtAttrId.attr('readonly', false);
- $txtAttrId.val('');
- $txtAttrName.val('');
- $sltUpperAttr.val('');
-
- $('#attrDetail').css('display', 'block');
- $('#attrDetailEmpty').css('display', 'none');
-
- $txtAttrId.focus();
- };
-
- var saveItemAttr = function(){
- var param = {};
- if($txtAttrId.val()==''){
- alert('아이디를 입력해주세요.');
- return;
- };
- if($txtAttrName.val()==''){
- alert('이름을 입력해주세요.');
- return;
- };
- if($sltAttrType.val()=='work'&&$sltUpperAttr.val()==''){
- alert('상위속성을 선택해주세요.');
- return;
- };
- if(attrInfo.attrSeq==undefined){
- param = {
- attrSeq: null,
- attrId: $txtAttrId.val(),
- attrName: $txtAttrName.val(),
- attrType: $sltAttrType.val(),
- upperAttr: $sltAttrType.val()=='work'? $sltUpperAttr.val():null
- }
- }else{
- param = {
- attrSeq: attrInfo.attrSeq,
- attrId: $txtAttrId.val(),
- attrName: $txtAttrName.val(),
- attrType: $sltAttrType.val(),
- upperAttr: $sltAttrType.val()=='work'? $sltUpperAttr.val():null
- }
- };
-
- var opt = {
- url : $attrCrudServiceBaseUrl + "/save.json",
- type : "POST",
- data : self.util.stringifyJson(param),
- dataType : "json",
- contentType: "application/json"
- };
- var success = function(data){
- alert("저장 되었습니다");
- initAttrList(data.attrType, 'attrType');
- $('#table_attr tr[attrId='+data.attrId+']').click();
- };
- var error = function(xhr,d,t){
- console.log(xhr);
- console.log(t);
- };
- self.ajaxAdmin( opt, success, error );
- };
-
- var removeItemAttr = function(){
- if($('#table_attr tr.active').length==0){
- alert('삭제할 속성을 선택해주세요.');
- return;
- };
- if(confirm('해당 속성을 삭제하시겠습니까?')){
- var param = {};
- param = {
- attrSeq: attrInfo.attrSeq,
- attrId: attrInfo.attrId,
- attrType: attrInfo.attrType
- };
- var opt = {
- url : $attrCrudServiceBaseUrl + "/remove.json",
- type : "POST",
- data : self.util.stringifyJson(param),
- contentType: "application/json"
- };
- var success = function(data){
- alert("삭제 되었습니다");
- initAttrList($sltAttrType.val(), 'attrType');
-
- attrInfo = {};
- $('#attrDetail').css('display', 'none');
- $('#attrDetailEmpty').css('display', 'block');
- };
- var error = function(xhr,d,t){
- console.log(xhr);
- console.log(t);
- };
- self.ajaxAdmin( opt, success, error );
- };
- };
-
- var getExtraAttrInfo = function(seq){
- extraAttrInfo = extraAttrList[seq];
- $txtExtraAttrId.attr('readonly', true);
- $txtExtraAttrId.val(extraAttrInfo.extraAttrId);
- $txtExtraAttrName.val(extraAttrInfo.extraAttrName);
- $txtExtraAttrDesc.val(extraAttrInfo.extraAttrDesc);
-
- var opt = {
- url: $crudServiceBaseUrl + "/getExtraAttrUserList.json",
- type : "post",
- async: false,
- dataType: "json",
- contentType: "application/json",
- data: self.util.stringifyJson({
- extraAttrId: extraAttrInfo.extraAttrId
- })
- }
-
- var success = function(result){
- extraAttrUserList = result;
- $('#table_extraAttrUser_view').empty();
- for(var i=0; i<extraAttrUserList.length; i++){
- var tr = $('<tr></tr>').clone().attr('seq', i);
- var tdUserId = $('<td></td>').clone().text(extraAttrUserList[i].userId);
- var tdUserName = $('<td></td>').clone().text(extraAttrUserList[i].userName);
- var tdUserHospital = $('<td></td>').clone().text(extraAttrUserList[i].hospitalName==null? '': extraAttrUserList[i].hospitalName);
- var tdUserDuty = $('<td></td>').clone().text(extraAttrUserList[i].dutyName==null? '': extraAttrUserList[i].dutyName);
- var tdUserWork = $('<td></td>').clone().text(extraAttrUserList[i].workName==null? '': extraAttrUserList[i].workName);
-
- $('#table_extraAttrUser_view').append(tr.append(tdUserId).append(tdUserName).append(tdUserHospital).append(tdUserDuty).append(tdUserWork));
- }
-
- }
-
- var error = function(xhr,d,t){
- console.log(xhr);
- console.log(t);
- };
- self.ajaxAdmin( opt, success, error );
-
- $('#extraAttrDetail').css('display', 'block');
- $('#extraAttrDetailEmpty').css('display', 'none');
- };
-
- var saveItemExtraAttr = function(){
- var param = {};
- if($txtExtraAttrId.val()==''){
- alert('아이디를 입력해주세요.');
- return;
- };
- if($txtExtraAttrName.val()==''){
- alert('이름을 입력해주세요.');
- return;
- };
-
- if(extraAttrInfo.extraAttrId==undefined){
- param = {
- extraAttrId: $txtExtraAttrId.val(),
- extraAttrName: $txtExtraAttrName.val(),
- extraAttrDesc: $txtExtraAttrDesc.val(),
- addedNode: true,
- extraAttrUserList: extraAttrUserList,
- extraAttrSeq: extraAttrUserList.length+1
- }
- }else{
- param = {
- extraAttrId: extraAttrInfo.extraAttrId,
- extraAttrName: $txtExtraAttrName.val(),
- extraAttrDesc: $txtExtraAttrDesc.val(),
- addedNode: extraAttrInfo.addedNode,
- extraAttrUserList: extraAttrUserList,
- extraAttrSeq: extraAttrInfo.extraAttrSeq
- }
- };
-
- var opt = {
- url : $crudServiceBaseUrl + "/save.json",
- type : "POST",
- data : self.util.stringifyJson(param),
- dataType : "json",
- contentType: "application/json"
- };
- var success = function(data){
- alert("저장 되었습니다");
- initExtraAttrList();
- $('#table_extraAttr tr[extraAttrId='+data.extraAttrId+']').click();
- };
- var error = function(xhr,d,t){
- console.log(xhr);
- console.log(t);
- };
- self.ajaxAdmin( opt, success, error );
- };
-
- var newItemExtraAttr = function(){
- extraAttrInfo = {};
- $('#table_extraAttr tr').removeClass('active');
- $txtExtraAttrId.attr('readonly', false);
-
- $txtExtraAttrId.val('');
- $txtExtraAttrName.val('');
- $txtExtraAttrDesc.val('');
- extraAttrUserList = [];
- extraAttrUserEditList = [];
-
- $('#table_extraAttrUser_view').empty();
-
- $('#extraAttrDetail').css('display', 'block');
- $('#extraAttrDetailEmpty').css('display', 'none');
-
- $txtExtraAttrId.focus();
-
- };
-
- var removeItemExtraAttr = function(){
- if($('#table_extraAttr tr.active').length==0){
- alert('삭제할 속성을 선택해주세요.');
- return;
- };
- if(confirm('해당 추가속성을 삭제하시겠습니까?')){
- var param = {extraAttrId: extraAttrInfo.extraAttrId};
- var opt = {
- url : $crudServiceBaseUrl + "/remove.json",
- type : "POST",
- data : self.util.stringifyJson(param),
- dataType : "json",
- contentType: "application/json"
- };
- var success = function(data){
- alert("삭제 되었습니다");
- initExtraAttrList();
-
- $('#extraAttrDetail').css('display', 'none');
- $('#extraAttrDetailEmpty').css('display', 'block');
- };
- var error = function(xhr,d,t){
- console.log(xhr);
- console.log(t);
- };
- self.ajaxAdmin( opt, success, error );
- };
- }
-
- var editExtraAttrUser = function(){
- $sltUser.val($('#sltUser option:first').val());
- $txtSearch.val('');
-
- initUserList(1, '', '');
-
- $('#table_extraAttrUser').empty();
- for (var i = 0; i < extraAttrUserList.length; i++) {
- var tr = $('<tr id="trExtraAttrUser_' + i + '"></tr>').clone();
- var tdUserId = $('<td></td>').clone().text(extraAttrUserList[i].userId);
- var tdUserName = $('<td></td>').clone().text(extraAttrUserList[i].userName);
- var tdHospital = $('<td></td>').clone().text(extraAttrUserList[i].hospitalName==null? '': extraAttrUserList[i].hospitalName);
- var tdDuty = $('<td></td>').clone().text(extraAttrUserList[i].dutyName==null? '': extraAttrUserList[i].dutyName);
- var tdWork = $('<td></td>').clone().text(extraAttrUserList[i].workName==null? '': extraAttrUserList[i].workName);
- var tdEdit = $('<td></td>').clone().append(
- '<button type="button" class="btn btn-default btn-xs" id="btnRemoveExtraAttrUser_'
- + i + '" userId="'+extraAttrUserList[i].userId+'"><span class="glyphicon glyphicon-minus"> 삭제</span></button>');
- $('#table_extraAttrUser').append(tr.append(tdUserId).append(tdUserName).append(tdHospital).append(tdDuty).append(tdWork).append(tdEdit));
- };
- $('[id*=btnRemoveExtraAttrUser_]').on('click', function(e) {
- removeExtraAttrUser(e);
- });
- extraAttrUserEditList = [];
- $.extend(extraAttrUserEditList, extraAttrUserList); // 객체 복사, 위의 방식으로하면 객체 공유가 되어버림!
- $('#addExtraAttrModal').modal('show');
- };
-
- var initUserList = function(page, selectType, searchText){
- userList = [];
-
- var opt = {
- url: $userAttrCrudServiceBaseUrl + "/getList.json",
- type: "post",
- dataType: "json",
- async: false,
- contentType: "application/json",
- data: self.util.stringifyJson({
- pageSize: pageSize,
- page: page,
- selectUserType: selectType,
- searchText: searchText,
- hospitalId: "",
- dutyId: "",
- workId: ""
- })
- };
- var success = function(result){
- userList = result.data;
- totalCount = result.totalCount;
- $('#table_user').empty();
- for(var i=0; i<userList.length; i++){
- var tr = $('<tr></tr>').clone().attr('seq', i).attr('rnum', userList[i].rnum);
- var tdUserId = $('<td></td>').clone().text(userList[i].userId);
- var tdUserName = $('<td></td>').clone().text(userList[i].userName);
- var tdHospital = $('<td></td>').clone().text(userList[i].hospitalName==null? '':userList[i].hospitalName);
- var tdDuty = $('<td></td>').clone().text(userList[i].dutyName==null? '': userList[i].dutyName);
- var tdWork = $('<td></td>').clone().text(userList[i].workName==null? '': userList[i].workName);
- var tdEdit = $('<td></td>').clone().append(
- '<button type="button" class="btn btn-default btn-xs" id="btnAddExtraAttrUser_'
- + i + '"><span class="glyphicon glyphicon-plus"> 추가</span></button>');
-
- $('#table_user').append(tr.append(tdUserId).append(tdUserName).append(tdHospital).append(tdDuty).append(tdWork).append(tdEdit));
- };
-
- $('[id*=btnAddExtraAttrUser_]').on('click', function(e) {
- addExtraAttrUser(e);
- });
-
- if(page<11){
- $('#ulPagination').empty();
- if(totalCount>0){
- for(j=0; j<Math.ceil(totalCount/pageSize); j++ ){
- if(j<10){
- var li = $('<li></li>').clone();
- var a = $('<a></a>').clone().attr('seq', j+1).text(j+1);
- var span = $('<span></span>').clone().addClass('sr-only');
-
- $('#ulPagination').append(li.attr('id', 'page_'+(j+1)).append(a.append(span)));
- }else if(j==10){
- $('#ulPagination').append('<li id="next_'+(j+1)+'"><a href="#">>></a></li>');
- $('#next_'+(j+1)).on('click', function(e){
- next(e);
- });
- }else {};
- };
- }else{
- var li = $('<li></li>').clone();
- var a = $('<a></a>').clone().attr('seq', 1).text(1);
- var span = $('<span></span>').clone().addClass('sr-only');
-
- $('#ulPagination').append(li.attr('id', 'page_'+(1)).append(a.append(span)));
- };
- };
-
- $('#ulPagination li[id*="page_"]').removeClass('active');
- if($('#page_'+page)!=null) $('#page_'+page).addClass('active');
-
- $('#ulPagination li[id*="page_"]').unbind();
- $('#ulPagination li[id*="page_"]').on('click', function(e){
- initUserList(Number(e.currentTarget.id.split('_')[1]), '', '');
- });
- };
- var error = function(xhr,d,t){
- console.log(xhr);
- console.log(t);
- };
- self.ajaxAdmin( opt, success, error );
- };
-
- var previous = function(e){
- var startNo = Number(e.currentTarget.id.split('_')[1]);
- if(startNo>Math.ceil(totalCount/pageSize)) return;
- $('#ulPagination').empty();
-
- if(startNo-10>1){
- $('#ulPagination').append('<li id="previous_'+(startNo-10)+'"><a href="#"><<</a></li>');
- $('#previous_'+(startNo-10)).on('click', function(e){
- previous(e);
- });
- };
-
- for(i=startNo-10; i<startNo; i++){
- $('#ulPagination').append('<li id="page_'+i+'"><a href="#">'+i+'</a></li>');
- $('#ulPagination li[id*="page_"]').unbind();
- $('#ulPagination li[id*="page_"]').on('click', function(e){
- initUserList(Number(e.currentTarget.id.split('_')[1]), '', '');
- });
- if((startNo)==(i+1)){
- $('#ulPagination').append('<li id="next_'+(i+1)+'"><a href="#">>></a></li>');
- $('#next_'+(i+1)).on('click', function(e){
- next(e);
- });
- };
- };
- };
-
- var next = function(){
- var startNo = Number(event.currentTarget.id.split('_')[1]);
- if(startNo>Math.ceil(totalCount/pageSize)) return;
- $('#ulPagination').empty();
-
- $('#ulPagination').append('<li id="previous_'+startNo+'"><a href="#"><<</a></li>');
- $('#previous_'+startNo).on('click', function(e){
- previous(e);
- });
-
- for(i=startNo; i<startNo+10; i++){
- if(i>Math.ceil(totalCount/pageSize)) return;
- $('#ulPagination').append('<li id="page_'+i+'"><a href="#">'+i+'</a></li>');
- $('#ulPagination li[id*="page_"]').unbind();
- $('#ulPagination li[id*="page_"]').on('click', function(e){
- initUserList(Number(e.currentTarget.id.split('_')[1]), '', '');
- });
-
- if((startNo+10)==(i+1) && i!=Math.ceil(totalCount/pageSize)){
- $('#ulPagination').append('<li id="next_'+(i+1)+'"><a href="#">>></a></li>');
- $('#next_'+(i+1)).on('click', function(e){
- next(e);
- });
- };
- };
- };
-
- var addExtraAttrUser = function(e){
- var userInfo = userList[e.currentTarget.id.split('_')[1]];
-
- for(i=0; i<extraAttrUserEditList.length; i++){
- if(extraAttrUserEditList[i].userId == userInfo.userId){
- alert('이미 추가된 사용자입니다.');
- return;
- };
- };
-
- extraAttrUserEditList.push(userInfo);
-
- var tr = $('<tr id="trExtraAttrUser_' + extraAttrUserEditList.length + '"></tr>').clone();
- var tdUserId = $('<td></td>').clone().text(userInfo.userId);
- var tdUserName = $('<td></td>').clone().text(userInfo.userName);
- var tdHospital = $('<td></td>').clone().text(userInfo.hospitalName==null? '': userInfo.hospitalName);
- var tdDuty = $('<td></td>').clone().text(userInfo.dutyName==null? '': userInfo.dutyName);
- var tdWork = $('<td></td>').clone().text(userInfo.workName==null? '': userInfo.workName);
- var tdEdit = $('<td></td>').clone().append(
- '<button type="button" class="btn btn-default btn-xs" id="btnRemoveExtraAttrUser_'
- + extraAttrUserEditList.length + '" userId="'+ userInfo.userId +'"><span class="glyphicon glyphicon-minus"> 삭제</span></button>');
- $('#table_extraAttrUser').append(tr.append(tdUserId).append(tdUserName).append(tdHospital).append(tdDuty).append(tdWork).append(tdEdit));
-
- $('[id*=btnRemoveExtraAttrUser_]').unbind();
- $('[id*=btnRemoveExtraAttrUser_]').on('click', function(e) {
- removeExtraAttrUser(e);
- });
-
- };
- var removeExtraAttrUser = function(e){
- $('#table_extraAttrUser [id*=trExtraAttrUser_' + e.currentTarget.id.split('_')[1]).remove();
- for(var i=0; i<extraAttrUserEditList.length; i++){
- if(extraAttrUserEditList[i].userId == e.currentTarget.attributes.userId.value){
- extraAttrUserEditList.splice(i, 1);
- break;
- }
- };
- };
-
- var confirmExtraAttrUser = function(e){
- $('#addExtraAttrModal').modal('hide');
- $('#table_extraAttrUser_view').empty();
- for (var i = 0; i < extraAttrUserEditList.length; i++) {
- var tr = $('<tr></tr>').clone().attr('seq', i);
- var tdUserId = $('<td></td>').clone().text(extraAttrUserEditList[i].userId);
- var tdUserName = $('<td></td>').clone().text(extraAttrUserEditList[i].userName);
- var tdUserHospital = $('<td></td>').clone().text(extraAttrUserEditList[i].hospitalName==null? '': extraAttrUserEditList[i].hospitalName);
- var tdUserDuty = $('<td></td>').clone().text(extraAttrUserEditList[i].dutyName==null? '': extraAttrUserEditList[i].dutyName);
- var tdUserWork = $('<td></td>').clone().text(extraAttrUserEditList[i].workName==null? '': extraAttrUserEditList[i].workName);
-
- $('#table_extraAttrUser_view').append(tr.append(tdUserId).append(tdUserName).append(tdUserHospital).append(tdUserDuty).append(tdUserWork));
- }
- ;
- extraAttrUserList = [];
- $.extend(extraAttrUserList, extraAttrUserEditList); // 객체 복사
- };
-
- /**
- * 트리 아이템 reload 이벤트
- * @private
- */
- var reloadItem = function(e){
- kendo.ui.progress( $wrapper, true );
-
- var opt = {
- url : $crudServiceBaseUrl + "/cacheReload.json",
- type : "POST",
- contentType: "application/json",
- complete : function(){
- kendo.ui.progress( $wrapper, false );
- }
- };
- var success = function(data){
- if( data === 1 ) {
- alert("갱신 되었습니다");
- } else {
- alert( "수행 중 에러가 발생하였습니다" );
- }
- };
- var error = function(xhr,d,t){
- console.log(xhr);
- console.log(t);
- };
- self.ajaxAdmin( opt, success, error );
- };
-
- };
- var rowNum = 0;
- function resetRowNum(){
- rowNum = 0;
- }
- function getNum(){
- return ++rowNum;
- }
|