/* * @Overview 팝업 생성 */ const createOpt = function(optValue, optText){ const opt = document.createElement('option'); opt.value = optValue; opt.text = optText; return opt; } class CreatePopup{ constructor(options){ const { container, fields, columns, selectKey, mode, tabrow, dbClickable, setFilter, } = options; this.container = container; this.fields = fields; this.columns = columns; this.selectKey = selectKey; this.mode = mode; this.tabrow = tabrow; this.dbClickable = dbClickable; // 콜백 함수 this.setFilter = setFilter ; } init(){ vnLoad('','/ksvc/inc/popup.php', this.container, (loadHtml)=>{ this.modal = kuls_modal(loadHtml); this.setSelectOption(); //컬럼 공통 규칙 const commonFieldData = { vertAlign:"middle", hozAlign: "center", resizable: "header", headerHozAlign: "center", headerSortTristate:true, }; // 테이블 생성 this.tbModal = new Tabulator(".awn-popup-confirm .hy-table", { layout:"fitColumns", columns: this.fields, //컬럼 설정 columnDefaults: commonFieldData, headerSortElement: "", //정렬 아이콘 }); const addBtn = document.querySelector("#awn-popup-wrapper .add-btn") || ""; const removeBtn = document.querySelector("#awn-popup-wrapper .remove-btn") || ""; const ptResetBtn = document.querySelector("#awn-popup-wrapper #ptReset") || false; const textSearch = document.querySelector("#awn-popup-wrapper [name=stxt]") || false; const selectSearch = document.querySelector("#awn-popup-wrapper [name=sgrp]") || false; if(ptResetBtn){ ptResetBtn.addEventListener("click", () =>{ this.initData(); this.modal.delete(); }); } if(textSearch){ textSearch.addEventListener("keyup",()=> { //검색어 입력 이벤트 this.setFilter(this.tbModal); }); } if(this.selectKey){ selectSearch.addEventListener("change",()=> { //영업분류 변경 이벤트 this.setFilter(this.tbModal); }); } this.tbModal.on("rowDblClick", (e, tgt)=>{ this.dbClickable && this.dbClick(e, tgt); }); // 테이블 리스트 렌더링 this.tbModal.on("tableBuilt", ()=>{ //초기 데이터 불러오기 이벤트 this.getPopList(); }); /* * @Overview cell 클릭시 체크 또는 팝업 * @Parameter 이벤트, 셀 */ this.tbModal.on("cellClick", (e,tgt) => { this.cellClick && this.cellClick(e,tgt); }); // 추가 ["click", "keypress"].forEach((evt) => { addBtn.addEventListener && addBtn.addEventListener(evt, () => { this.addRow && this.addRow(); }); }); // 삭제 ["click", "keypress"].forEach((evt) => { removeBtn.addEventListener && removeBtn.addEventListener(evt, () => { // 삭제 함수 this.removeRow && this.removeRow(); }); }); }) // vnload 끝 } setData(e,tgt){ let row = tgt._row; if( this.tabrow ){ let uptjson = {_STATUS_:this.tabrow.getData()['_STATUS_']||'U'}; Object.keys(this.columns).forEach( key => { // if(!row.data[this.columns[key]]){ // row.data[this.columns[key]] = row.data[this.columns[key].replace(/[A-Z]+_/, "")] // } // uptjson[this.columns[key]] = row.data[this.columns[key]]; // 직접 할당 uptjson[key] = row.data[this.columns[key]]; // 직접 할당 // console.log(key) } ); this.tabrow.update(uptjson); }else{ Object.keys(this.columns).forEach( key => { document.querySelector("#"+this.columns[key]).value = row.data[key]; }) } }; initData(){ if( this.tabrow ){ let uptjson = {_STATUS_:this.tabrow.getData()['_STATUS_']||'U'}; Object.keys(this.columns).forEach( key => { uptjson[key] = ""; // 직접 할당 } ); this.tabrow.update(uptjson); }else{ Object.keys(this.columns).forEach( key => { document.querySelector("#"+this.columns[key]).value = ""; }) // if( document.querySelector(this.columns.tgt_id) ) document.querySelector(this.columns.tgt_id).value = ""; // if( document.querySelector(this.columns.tgt_name) ) document.querySelector(this.columns.tgt_name).value = ""; // if( document.querySelector(this.columns.tgt_addr) ) document.querySelector(this.columns.tgt_addr).value = ""; // if( document.querySelector(this.columns.tgt_currency) ) document.querySelector(this.columns.tgt_addr).value = ""; // if( document.querySelector(this.columns.tgt_chname) ) document.querySelector(this.columns.tgt_chname).value = ""; // if( document.querySelector(this.columns.tgt_chmail) ) document.querySelector(this.columns.tgt_chmail).value = ""; // if( document.querySelector(this.columns.tgt_chtel) ) document.querySelector(this.columns.tgt_chtel).value = ""; // if( document.querySelector(this.columns.tgt_chcell) ) document.querySelector(this.columns.tgt_chcell).value = ""; // if( document.querySelector(this.columns.tgt_chfax) ) document.querySelector(this.columns.tgt_chfax).value = ""; // if( document.querySelector(this.columns.tgt_portnm) ) document.querySelector(this.columns.tgt_portnm).value = ""; } }; // 선택태그 옵션 생성 setSelectOption(){ // 선택태그 있으면 if(this.selectKey){ const selectTag = document.querySelector('#sgrp'); selectTag.options.length = 0; const opt = createOpt('','- 전 체 -') selectTag.add(opt); Object.keys(this.selectKey).forEach(key => { selectTag.add(createOpt(key, this.selectKey[key])); }); } } // 데이터 렌더링 getPopList(){ ajax_json({ url: "/ksvc/inc/common.ajax.php", data: {mode: this.mode}, success:( data ) => { if( data.code ){ // console.log(data.data) this.tbModal.setData(data.data); if( this.columns.tgt_filter && this.columns.txt_filter ){ document.querySelector(this.columns.tgt_filter).value = this.columns.txt_filter; this.setFilter(); } } }, error: (request, status, error)=>{ kuls_alert(error.message); }, }); }; /* * @Overview 테이블 행 추가 함수 * @Parameter 없음 * @function 기본키, _STATUS_:I 값을 넣은 행 추가 */ addRow() { this.tbModal.addRow({ _STATUS_: "I" }); } /* * @Overview 테이블 행 삭제 함수 * @Parameter 없음 * @function 선택된 모든 행 STATUS D */ removeRow() { const selectedRows = this.tbModal.getSelectedRows(); // 선택된 모든 행 가져오기 // 선택된 각 행 삭제 selectedRows.forEach((row) => { // STAUS D로 바꾸기 row.getData()._STATUS_ = row.getData()._STATUS_=="I"?null:"D"; const rowElement = row.getElement(); rowElement.classList.add("remove-row"); }); } /* * @Overview cell 클릭 함수 * @Parameter 클릭한 cell * @Function 클릭한 cell의 filed 값에 따라 토글 상태 변경 또는 팝업 */ cellClick(e, tgt) { var editor = tgt.getColumn().getDefinition().editor; switch (tgt.getField()) { default: if (!editor) { this.rowClick && this.rowClick(e, tgt.getRow()); } break; } } /* * @Overview 테이블 행 선택 함수 * @Parameter 이벤트, 타겟 행 */ rowClick(e, tgt) { if (tgt.isSelected()) { tgt.deselect(); } else { tgt.select(); } } /* * @Overview 테이블 행 선택 함수 * @Parameter 이벤트, 타겟 행 */ dbClick(e, tgt) { let rowData = tgt._row.data this.setData(e, tgt); this.modal.delete(); // this.tabrow.updateData({[this.columns.tgt_name]:row.data['BIZ_AREA_NM']}); // tabrow.updateData({[tgt_id]:row.data['BIZ_AREA_CD'],[tgt_name]:row.data['BIZ_AREA_NM'],_STATUS_:tabrow.getData()['_STATUS_']||'U'}); } } /* * @Overview 거래처 코드 찾기 팝업 생성 */ const popClient = function( columns, tabrow ){ const fields = [ { formatter:"rownum", title: "No", width: 50, headerSort: false, hozAlign:'center', }, { field: "SALES_GRP", title: "영업구분", width: 100, formatter: (cell)=> varsSALES_GRP[cell.getValue()] }, { field: "BP_CD", title: "거래처", width: 80, }, { field: "BP_NM", title: "거래처명", width: 150,}, { field: "REPRESN_NM", title: "대표자명", width: 100,}, { field: "CURRENCY_CD", title: "거래화폐", width: 100, }, { field: "PUR_FLG", title: "매입처", width: 70, formatter: tb_common_funtions.formatterSelCircleIcon, }, { field: "SAL_FLG", title: "매출처", width: 70, formatter: tb_common_funtions.formatterSelCircleIcon, }, ]; const setTableFilter = function(modal){ let stxt = trim(document.querySelector("#awn-popup-wrapper input[name=stxt]").value); let sgrp = trim(document.querySelector("#awn-popup-wrapper select[name=sgrp]").value); modal.setFilter(function(data){ return (!sgrp || data['SALES_GRP'] === sgrp) && (!stxt || data['BP_CD'].search(RegExp(stxt,"is")) !== -1 || data['BP_NM'].search(RegExp(stxt,"is")) !== -1 || data['BP_FULL_NM'].search(RegExp(stxt,"is")) !== -1) }, '=', true); }; const Tb_modal = new CreatePopup({ container: '#popup_client_container', fields: fields, columns: columns, selectKey: varsSALES_GRP, mode: "getPartnerList", tabrow: tabrow, dbClickable: true, setFilter: setTableFilter, }); Tb_modal.init(); } /* * @Overview 사업장 코드 찾기 팝업 생성 */ const popBizArea = function( columns, tabrow ){ const fields = [ { formatter:"rownum", title: "No", width: 50, headerSort: false, hozAlign:'center', }, { field: "BIZ_AREA_CD", title: "사업장코드", width: 100, }, { field: "BIZ_AREA_NM", title: "사업장명", width: 150, }, { field: "HQ_FLG", title: "본사구분", width: 100, }, { field: "WORK_STD_TIME", title: "기준시간", width: 100, }, { field: "STD_CURRENCY_CD", title: "기준화폐", width: 100, }, ]; const setTableFilter = function(modal){ //검색어 필터 적용 let stxt = trim(document.querySelector("#awn-popup-wrapper input[name=stxt]").value); modal.setFilter(function(data){ return (!stxt || data['BIZ_AREA_CD'].search(RegExp(stxt,"is")) !== -1 || data['BIZ_AREA_NM'].search(RegExp(stxt,"is")) !== -1) }, '=', true); }; const Tb_modal = new CreatePopup({ container: '#popup_bizarea_container', fields: fields, columns: columns, selectKey: false, mode: "getBizareaList", tabrow: tabrow, dbClickable: true, setFilter: setTableFilter, }); Tb_modal.init(); // const setPopBizareaData = function(e,tgt){ //Row 더블클릭 실행 // let row = tgt._row; // if( tabrow ){ // tabrow.updateData({[tgt_id]:row.data['BIZ_AREA_CD'],[tgt_name]:row.data['BIZ_AREA_NM'],_STATUS_:tabrow.getData()['_STATUS_']||'U'}); // }else{ // if( document.querySelector(tgt_id) ) document.querySelector(tgt_id).value = row.data['BIZ_AREA_CD']; // if( document.querySelector(tgt_name) ) document.querySelector(tgt_name).value = row.data['BIZ_AREA_NM']; // } // bizareaModal.delete(); // }; } /* * @Overview 부서 코드 찾기 팝업 생성 */ const popDept = function( columns, tabrow ){ const fields = [ { formatter:"rownum", title: "No", width: 50, headerSort: false, hozAlign:'center', }, { field: "DEPT_CD", title: "부서코드", width: 100, }, { field: "DEPT_NM", title: "부서명", width: 150, }, { field: "PAR_DEPT_CD", title: "상위부서코드", width: 100, }, { field: "PAR_DEPT_NM", title: "상위부서명", width: 100, }, { field: "BIZ_AREA_NM", title: "사업장명", width: 100, }, ]; const setTableFilter = function(modal){ //검색어 필터 적용 let stxt = trim(document.querySelector("#awn-popup-wrapper input[name=stxt]").value); modal.setFilter(function(data){ return (!stxt || data['BIZ_AREA_CD'].search(RegExp(stxt,"is")) !== -1 || data['BIZ_AREA_NM'].search(RegExp(stxt,"is")) !== -1) }, '=', true); }; const Tb_modal = new CreatePopup({ container: '#popup_dept_container', fields: fields, columns: columns, selectKey: false, mode: "getDeptList", tabrow: tabrow, dbClickable: true, setFilter: setTableFilter, }); Tb_modal.init(); } /* * @Overview 공정 코드 찾기 팝업 생성 */ const popOper = function( columns, tabrow ){ const fields = [ { formatter:"rownum", title: "No", width: 50, headerSort: false, hozAlign:'center', }, { field: "OP_CD", title: "공정코드", width: 100, }, { field: "OP_NM", title: "공정명", width: 100, }, { field: "OP_GRP", title: "공정그룹", width: 100, }, { field: "FACLT_CD", title: "설비", width: 100, }, { field: "REMK", title: "비고", width: 200, }, ]; const setTableFilter = function(modal){ //검색어 필터 적용 let stxt = trim(document.querySelector("#awn-popup-wrapper input[name=stxt]").value); modal.setFilter(function(data){ return (!stxt || data['OP_CD'].search(RegExp(stxt,"is")) !== -1 || data['OP_NM'].search(RegExp(stxt,"is")) !== -1) }, '=', true); }; const Tb_modal = new CreatePopup({ container: '#popup_oper_container', fields: fields, columns: columns, selectKey: false, mode: "getOperList", tabrow: tabrow, dbClickable: true, setFilter: setTableFilter, }); Tb_modal.init(); } /* * @Overview 특정 품목에 대한 공정 코드 찾기 팝업 생성 */ // const popItemOper = function( columns, tabrow ){ // // const fields = [ // { formatter:"rownum", title: "No", width: 50, headerSort: false, hozAlign:'center', }, // { field: "OP_CD", title: "공정코드", width: 100, }, // { field: "OP_NM", title: "공정명", width: 100, }, // { field: "OP_GRP", title: "공정그룹", width: 100, }, // { field: "REMK", title: "비고", width: 200, }, // ]; // // const setTableFilter = function(modal){ //검색어 필터 적용 // let stxt = trim(document.querySelector("#awn-popup-wrapper input[name=stxt]").value); // modal.setFilter(function(data){ // return (!stxt || data['OP_CD'].search(RegExp(stxt,"is")) !== -1 || data['OP_NM'].search(RegExp(stxt,"is")) !== -1) // }, '=', true); // }; // const Tb_modal = new CreatePopup({ // container: '#popup_oper_container', // fields: fields, // columns: columns, // selectKey: false, // mode: "getItemOperList", // tabrow: tabrow, // dbClickable: true, // setFilter: setTableFilter, // }); // // Tb_modal.init(); // } /* * @Overview 설비 코드 찾기 팝업 생성 */ const popFacility = function( columns, tabrow ){ const fields = [ { formatter:"rownum", title: "No", width: 50, headerSort: false, hozAlign:'center', }, { field: "FACLT_CD", title: "설비코드", width: 150, }, { field: "FACLT_NM", title: "설비명", width: 150, }, { field: "FACLT_MNG_NO", title: "관리번호", width: 100, }, { field: "MAJR_EMP_NO", title: "담당자정", width: 100, }, { field: "WRK_TEAM", title: "작업팀", width: 100, }, { field: "PURPOS_USAGE", title: "용도", width: 200, }, ]; const setTableFilter = function(modal){ //검색어 필터 적용 // let stxt = trim(document.querySelector("#awn-popup-wrapper input[name=stxt]").value); // modal.setFilter(function(data){ // return (!stxt || data['BIZ_AREA_CD'].search(RegExp(stxt,"is")) !== -1 || data['BIZ_AREA_NM'].search(RegExp(stxt,"is")) !== -1) // }, '=', true); }; const Tb_modal = new CreatePopup({ container: '#popup_facility_container', fields: fields, columns: columns, selectKey: false, mode: "getFacilityList", tabrow: tabrow, dbClickable: true, setFilter: setTableFilter, }); Tb_modal.init(); } /* * @Overview 사원 코드 찾기 팝업 생성 */ const popWorker = function( columns, tabrow ){ const fields = [ { formatter:"rownum", title: "No", width: 50, headerSort: false, hozAlign:'center', }, { field: "EMP_NO", title: "사번", width: 100, }, { field: "EMP_NM", title: "성명", width: 100, }, { field: "EMP_SHORT_NM", title: "영문명", width: 150, }, { field: "WRK_TEAM", title: "작업팀", width: 100, }, { field: "EMPLM_TYPE", title: "고용형태", width: 100, }, { field: "JOB_POS", title: "직위", width: 100, formatter: tb_common_funtions.formatterSelect, formatterParams: { values: varsPosition }, }, { field: "JOB_ROLE", title: "직책", width: 100, formatter: tb_common_funtions.formatterSelect, formatterParams: { values: varsJobrole }, }, { field: "MAIL_ID", title: "이메일", width: 200, }, { field: "ENT_DT", title: "입사일", width: 150, }, ]; const setTableFilter = function(modal){ //검색어 필터 적용 let stxt = trim(document.querySelector("#awn-popup-wrapper input[name=stxt]").value); modal.setFilter(function(data){ return (!stxt || data['EMP_NO'].search(RegExp(stxt,"is")) !== -1 || data['EMP_NM'].search(RegExp(stxt,"is")) !== -1) }, '=', true); }; const Tb_modal = new CreatePopup({ container: '#popup_worker_container', fields: fields, columns: columns, selectKey: false, mode: "getWorkerList", tabrow: tabrow, dbClickable: true, setFilter: setTableFilter, }); Tb_modal.init(); } /* * @Overview 거래처 수정 팝업 */ const popClientEditor = function( columns, tabrow ){ const fields = [ { formatter:"rownum", title: "No", width: 50, headerSort: false, hozAlign:'center', }, { field: "", title: "담당자명", width: 100, }, { field: "", title: "이메일", width: 200, }, { field: "", title: "연락처", width: 150, }, { field: "", title: "휴대폰", width: 150, }, { field: "", title: "FAX NO", width: 150, }, { field: "", title: "비고", width: 300, }, { field: "", title: "메인", width: 50, formatter: tb_common_funtions.formatterCheckIcon2, formatterParams: {checkval:'Y'}}, ]; // 검색기능 필터 const setTableFilter = function(modal) { //검색어 필터 적용 }; const Tb_modal = new CreatePopup({ container: '#popup_client_editor', fields: fields, columns: columns, selectKey: false, mode: "", tabrow: tabrow, dbClickable : false, setFilter: setTableFilter, }); Tb_modal.init(); } /* * @Overview 품목 찾기 팝업 생성 */ const popItem = function( columns, tabrow ){ const fields = [ { formatter:"rownum", title: "No", width: 50, headerSort: false, hozAlign:'center', }, { field: "ITEM_CD", title: "품목코드", width: 100, }, { field: "ITEM_NM", title: "품목이름", width: 150, }, { field: "DRAW_NO", title: "도면번호", width: 100, }, { field: "ITEM_GRP", title: "품목그룹", width: 100, }, { field: "DRAW_VER", title: "도면버전", width: 100, }, ]; const setTableFilter = function(modal){ //검색어 필터 적용 let stxt = trim(document.querySelector("#awn-popup-wrapper input[name=stxt]").value); modal.setFilter(function(data){ return (!stxt || data['ITEM_CD'].search(RegExp(stxt,"is")) !== -1 || data['ITEM_NM'].search(RegExp(stxt,"is")) !== -1) }, '=', true); }; const Tb_modal = new CreatePopup({ container: '#popup_item_container', fields: fields, columns: columns, selectKey: false, mode: "getItemList", tabrow: tabrow, dbClickable: true, setFilter: setTableFilter, }); Tb_modal.init(); } /* * @Overview 검사항목검색 */ const popInsp = function( columns, tabrow ){ const fields = [ { formatter:"rownum", title: "No", width: 50, headerSort: false, hozAlign:'center', }, { field: "INSP_ITEM", title: "검사항목", width: 100, }, { field: "INSP_NAME", title: "검사항목명", width: 150, }, { field: "INSP_METH", title: "검사방법", width: 150, }, ]; const setTableFilter = function(modal){ //검색어 필터 적용 let stxt = trim(document.querySelector("#awn-popup-wrapper input[name=stxt]").value); modal.setFilter(function(data){ // return (!stxt || data['INSP_ITEM'].search(RegExp(stxt,"is")) !== -1 || data['INSP_NAME'].search(RegExp(stxt,"is")) !== -1) return (!stxt || data['INSP_NAME'].search(RegExp(stxt,"is")) !== -1) }, '=', true); }; const Tb_modal = new CreatePopup({ container: '#popup_insp_container', fields: fields, columns: columns, selectKey: false, mode: "getInspList", tabrow: tabrow, dbClickable: true, setFilter: setTableFilter, }); Tb_modal.init(); } /* * @Overview 생산 오더별 공정 검색 */ const popOrder = function( columns, tabrow ){ const fields = [ { field: "WO_SEQ", formatter:"rownum", title: "No", width: 50, headerSort: false, hozAlign:'center', }, { field: "WO_NO", title: "생산오더", width: 100, }, { field: "OP_CD", title: "공정", width: 100, }, { field: "FACLT_CD", title: "설비", width: 100, }, { field: "ITEM_CD", title: "품목", width: 100, }, { field: "ITEM_NM", title: "품명", width: 100, }, { field: "ORD_QTY", title: "지시수량", width: 150, formatter:"money", formatterParams:{ decimal:",",precision:0 } }, { field: "WRK_QTY", title: "생산수량", width: 150, formatter:"money", formatterParams:{ decimal:",",precision:0 } }, { field: "PLANT_CD", title: "공장", width: 150, }, ]; const setTableFilter = function(modal){ //검색어 필터 적용 let stxt = trim(document.querySelector("#awn-popup-wrapper input[name=stxt]").value); modal.setFilter(function(data){ // return (!stxt || data['INSP_ITEM'].search(RegExp(stxt,"is")) !== -1 || data['INSP_NAME'].search(RegExp(stxt,"is")) !== -1) return (!stxt || data['ITEM_CD'].search(RegExp(stxt,"is")) !== -1) }, '=', true); }; const Tb_modal = new CreatePopup({ container: '#popup_order_container', fields: fields, columns: columns, selectKey: false, mode: "getOrderList", tabrow: tabrow, dbClickable: true, setFilter: setTableFilter, }); Tb_modal.init(); } /* * @Overview 불량선택 */ const popDef = function( columns, tabrow ){ const fields = [ { formatter:"rownum", title: "No", width: 50, headerSort: false, hozAlign:'center', }, // { field: "DEF_FACLT_CD", title: "불량설비", width: 100, }, { field: "DEF_OP_CD", title: "공정", width: 150, }, { field: "DEF_CD", title: "불량코드", width: 150, }, // { field: "DEF_QTY", title: "불량수량", width: 150, }, ]; const setTableFilter = function(modal){ //검색어 필터 적용 let stxt = trim(document.querySelector("#awn-popup-wrapper input[name=stxt]").value); modal.setFilter(function(data){ // return (!stxt || data['INSP_ITEM'].search(RegExp(stxt,"is")) !== -1 || data['INSP_NAME'].search(RegExp(stxt,"is")) !== -1) return (!stxt || data['DEF_FACLT_CD'].search(RegExp(stxt,"is")) !== -1) }, '=', true); }; const Tb_modal = new CreatePopup({ container: '#popup_def_container', fields: fields, columns: columns, selectKey: false, mode: "getDefList", tabrow: tabrow, dbClickable: true, setFilter: setTableFilter, }); Tb_modal.init(); } /* * @Overview 생산실적 오더별 공정 검색 */ const popRegOrder = function( columns, tabrow ){ const fields = [ { field: "WO_SEQ", formatter:"rownum", title: "No", width: 50, headerSort: false, hozAlign:'center', }, { field: "WO_NO", title: "생산오더", width: 100, }, { field: "OP_SEQ", title: "공순", width: 100, }, { field: "OP_CD", title: "공정", width: 100, }, { field: "ITEM_CD", title: "품목", width: 100, }, { field: "ITEM_NM", title: "품명", width: 100, }, { field: "DRAW_NO", title: "도면번호", width: 100, }, { field: "PRV_OP_CD", title: "이전공정", width: 100, }, { field: "ORD_QTY", title: "지시수량", width: 150, formatter: "money", formatterParams: { decimal: ",", precision: 0 } }, { field: "OP_WRK_QTY", title: "이전공정양품", width: 100, formatter: "money", formatterParams: { decimal: ",", precision: 0 } } ]; const setTableFilter = function(modal){ //검색어 필터 적용 let stxt = trim(document.querySelector("#awn-popup-wrapper input[name=stxt]").value); modal.setFilter(function(data){ // return (!stxt || data['INSP_ITEM'].search(RegExp(stxt,"is")) !== -1 || data['INSP_NAME'].search(RegExp(stxt,"is")) !== -1) return (!stxt || data['ITEM_CD'].search(RegExp(stxt,"is")) !== -1) }, '=', true); }; const Tb_modal = new CreatePopup({ container: '#popup_reg_order_container', fields: fields, columns: columns, selectKey: false, mode: "getRegOrderList", tabrow: tabrow, dbClickable: true, setFilter: setTableFilter, }); Tb_modal.init(); } /* * @Overview 생산실적 설비 코드 찾기 팝업 생성 */ const popRegFacility = function( columns, tabrow ){ const fields = [ { formatter:"rownum", title: "No", width: 50, headerSort: false, hozAlign:'center', }, { field: "FACLT_CD", title: "설비코드", width: 150, }, { field: "FACLT_NM", title: "설비명", width: 150, }, ]; const setTableFilter = function(modal){ //검색어 필터 적용 // let stxt = trim(document.querySelector("#awn-popup-wrapper input[name=stxt]").value); // modal.setFilter(function(data){ // return (!stxt || data['BIZ_AREA_CD'].search(RegExp(stxt,"is")) !== -1 || data['BIZ_AREA_NM'].search(RegExp(stxt,"is")) !== -1) // }, '=', true); }; const Tb_modal = new CreatePopup({ container: '#popup_reg_faclt_container', fields: fields, columns: columns, selectKey: false, mode: "getOrderFacilityList", tabrow: tabrow, dbClickable: true, setFilter: setTableFilter, }); Tb_modal.init(); }