forked from HANYANG/HANYANG_MES
778 lines
27 KiB
JavaScript
778 lines
27 KiB
JavaScript
/*
|
|
* @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: "<i class='bi'></i>", //정렬 아이콘
|
|
});
|
|
|
|
|
|
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();
|
|
} |