forked from HANYANG/HANYANG_MES
서버 동기화
This commit is contained in:
parent
ed862562da
commit
c0a293622d
|
|
@ -375,16 +375,17 @@ class Tb_dept_class {
|
||||||
},
|
},
|
||||||
{ field: "DEPT_NM", title: "부서명", width: 150,
|
{ field: "DEPT_NM", title: "부서명", width: 150,
|
||||||
editor: tb_custom_editor.upper,
|
editor: tb_custom_editor.upper,
|
||||||
|
hozAlign:"left",
|
||||||
validator:{
|
validator:{
|
||||||
type:tb_custom_validator.stringNumeric,
|
type:tb_custom_validator.stringNumeric,
|
||||||
parameters: "특수문자를 입력할 수 없습니다."
|
parameters: "특수문자를 입력할 수 없습니다."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ field: "PAR_DEPT_CD", title: "상위부서코드", width: 150, cssClass:"editable-cell" },
|
{ field: "PAR_DEPT_CD", title: "상위부서코드", width: 150, cssClass:"editable-cell" },
|
||||||
{ field: "PAR_DEPT_NM", title: "상위부서명", width: 200, },
|
{ field: "PAR_DEPT_NM", title: "상위부서명", width: 200, formatter:function(cell){console.log( this.getWidth());} },
|
||||||
{ field: "BIZ_AREA_CD", title: "사업장코드", width: 150, cssClass:"editable-cell" },
|
{ field: "BIZ_AREA_CD", title: "사업장코드", width: 150, cssClass:"editable-cell" },
|
||||||
{ field: "BIZ_AREA_NM", title: "사업장명", width: 200, },
|
{ field: "BIZ_AREA_NM", title: "사업장명", width: 200, },
|
||||||
{ field: "EMP_NO", title: "관리자", width: 100, cssClass:"editable-cell" },
|
{ field: "EMP_NO", title: "관리자", width: 100, cssClass:"editable-cell", },
|
||||||
{ field: "USE_FLG", title: "사용", width: 50, cssClass: "editable-cell", formatter: tb_common_funtions.formatterToggleboxGreenIcon, formatterParams: { checkval: "Y" }, },
|
{ field: "USE_FLG", title: "사용", width: 50, cssClass: "editable-cell", formatter: tb_common_funtions.formatterToggleboxGreenIcon, formatterParams: { checkval: "Y" }, },
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -297,12 +297,13 @@ class Tb_insp_class {
|
||||||
},
|
},
|
||||||
{ field: "INSP_NAME", title: "검사항목명", width: 500,
|
{ field: "INSP_NAME", title: "검사항목명", width: 500,
|
||||||
editor: "input",
|
editor: "input",
|
||||||
|
hozAlign:"left",
|
||||||
validator:{
|
validator:{
|
||||||
type:tb_custom_validator.stringNumeric,
|
type:tb_custom_validator.stringNumeric,
|
||||||
parameters: "특수문자를 입력할 수 없습니다."
|
parameters: "특수문자를 입력할 수 없습니다."
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{ field: "INSP_METH", title: "검사유형", width: 100, editor:"input"},
|
{ field: "INSP_METH", title: "검사유형",hozAlign:"left", width: 100, editor:"input"},
|
||||||
{ field: "USEFLAG", title: "사용", width: 50, cssClass: "editable-cell", formatter: tb_common_funtions.formatterToggleboxGreenIcon, formatterParams: { checkval: "Y" }, },
|
{ field: "USEFLAG", title: "사용", width: 50, cssClass: "editable-cell", formatter: tb_common_funtions.formatterToggleboxGreenIcon, formatterParams: { checkval: "Y" }, },
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -377,10 +378,51 @@ class Tb_insp_class {
|
||||||
this.cellEdited && this.cellEdited(cell);
|
this.cellEdited && this.cellEdited(cell);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//엑셀연결
|
||||||
|
document.getElementById('excel_down').addEventListener('click', function (e) {
|
||||||
|
getExcel2();
|
||||||
|
});
|
||||||
|
|
||||||
|
document.getElementById('excel_up').addEventListener('click', function (e) {
|
||||||
|
document.getElementById('fileInput').click();
|
||||||
|
});
|
||||||
|
|
||||||
|
document.getElementById('fileInput').addEventListener('change', function (e) {
|
||||||
|
let file = e.target.files[0];
|
||||||
|
if (!file) {
|
||||||
|
console.log('파일이 선택되지 않았습니다.');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let reader = new FileReader();
|
||||||
|
reader.onload = (e) => {
|
||||||
|
let data = e.target.result;
|
||||||
|
let workbook = XLSX.read(data, { type: 'binary' });
|
||||||
|
|
||||||
|
workbook.SheetNames.forEach((sheetName) => {
|
||||||
|
let rows = XLSX.utils.sheet_to_json(workbook.Sheets[sheetName], { header:1 });
|
||||||
|
console.log(rows);
|
||||||
|
rows.slice(1).forEach((row,index) => {
|
||||||
|
let rowToAdd = {
|
||||||
|
INSP_ITEM: row[0],
|
||||||
|
INSP_NAME: row[1],
|
||||||
|
INSP_METH: row[2],
|
||||||
|
USEFLAG: row[3],
|
||||||
|
_STATUS_: "I"
|
||||||
|
};
|
||||||
|
console.log('행추가 ', rowToAdd);
|
||||||
|
Tb_insp.tbList.addRow(rowToAdd);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
reader.readAsBinaryString(file);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 추가
|
// 추가
|
||||||
["click", "keypress"].forEach((evt) => {
|
["click", "keypress"].forEach((evt) => {
|
||||||
this.addBtn.addEventListener(evt, () => {
|
this.addBtn.addEventListener(evt, () => {
|
||||||
this.addRow && this.addRow();
|
this.addRow && this.addRow() && this.addRow(rowToAdd);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
// 삭제
|
// 삭제
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,7 @@ include_once _SVC_INC_PATH_ . "/header.php";
|
||||||
<div class="button-container">
|
<div class="button-container">
|
||||||
<div class="button-box">
|
<div class="button-box">
|
||||||
<button class="point-btn" id="excel_down">엑셀 다운로드</button>
|
<button class="point-btn" id="excel_down">엑셀 다운로드</button>
|
||||||
|
<input type="file" id="fileInput" style="display: none;" accept=".xlsx, .xls">
|
||||||
<button class="point-btn" id="excel_up">엑셀 업로드</button>
|
<button class="point-btn" id="excel_up">엑셀 업로드</button>
|
||||||
<button class="point-btn" id="filter_btn">조회</button>
|
<button class="point-btn" id="filter_btn">조회</button>
|
||||||
<button class="point-btn" id="put_btn">저장</button>
|
<button class="point-btn" id="put_btn">저장</button>
|
||||||
|
|
@ -98,5 +99,7 @@ include_once _SVC_INC_PATH_ . "/header.php";
|
||||||
|
|
||||||
<?php include_once _SVC_INC_PATH_ . "/footer_common.php"; ?>
|
<?php include_once _SVC_INC_PATH_ . "/footer_common.php"; ?>
|
||||||
<script src="./insp.js"></script>
|
<script src="./insp.js"></script>
|
||||||
|
<script src="./insp_excel.js"></script>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.17.5/xlsx.full.min.js"></script>
|
||||||
<?php
|
<?php
|
||||||
include_once _SVC_INC_PATH_ . "/footer.php";
|
include_once _SVC_INC_PATH_ . "/footer.php";
|
||||||
|
|
@ -0,0 +1,127 @@
|
||||||
|
|
||||||
|
let getExcel2 = function (data) {
|
||||||
|
//Todo: 컴퍼넌트. 주석 삭제하지 말자
|
||||||
|
|
||||||
|
let sheet_title = "검사항목";
|
||||||
|
let file_name = "검사항목";
|
||||||
|
|
||||||
|
const work_Book = new ExcelJS.Workbook(); // ExcelJS 라이브러리로 새 워크북 생성
|
||||||
|
const work_Sheet = work_Book.addWorksheet(sheet_title); // 새 워크시트 추가
|
||||||
|
|
||||||
|
const all_border = {
|
||||||
|
top: { style: "thin", color: { argb: "FF000000" } },
|
||||||
|
left: { style: "thin", color: { argb: "FF000000" } },
|
||||||
|
bottom: { style: "thin", color: { argb: "FF000000" } },
|
||||||
|
right: { style: "thin", color: { argb: "FF000000" } },
|
||||||
|
};
|
||||||
|
const field_css = {
|
||||||
|
yellow: {
|
||||||
|
border: all_border,
|
||||||
|
font: { color: { argb: "FF9C5700" }, bold: true },
|
||||||
|
alignment: { vertical: "middle", horizontal: "center" },
|
||||||
|
fill: {
|
||||||
|
type: "pattern",
|
||||||
|
pattern: "solid",
|
||||||
|
fgColor: { argb: "FFFFEB9C" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
green: {
|
||||||
|
border: all_border,
|
||||||
|
font: { color: { argb: "FF006100" }, bold: true },
|
||||||
|
alignment: { vertical: "middle", horizontal: "center" },
|
||||||
|
fill: {
|
||||||
|
type: "pattern",
|
||||||
|
pattern: "solid",
|
||||||
|
fgColor: { argb: "FFC6EFCE" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
red: {
|
||||||
|
border: all_border,
|
||||||
|
font: { color: { argb: "FF9C0006" }, bold: true },
|
||||||
|
alignment: { vertical: "middle", horizontal: "center" },
|
||||||
|
fill: {
|
||||||
|
type: "pattern",
|
||||||
|
pattern: "solid",
|
||||||
|
fgColor: { argb: "FFFFC7CE" },
|
||||||
|
},
|
||||||
|
|
||||||
|
},
|
||||||
|
blue: {
|
||||||
|
border: all_border,
|
||||||
|
font: { font: { size: 11 }, color: { argb: "0E3979" }, bold: true },
|
||||||
|
alignment: { vertical: "middle", horizontal: "center" },
|
||||||
|
fill: {
|
||||||
|
type: "pattern",
|
||||||
|
pattern: "solid",
|
||||||
|
fgColor: { argb: "EAEFF3" },
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
title: {
|
||||||
|
font: { size: 15, bold: true },
|
||||||
|
alignment: { vertical: "middle", horizontal: "center" },
|
||||||
|
},
|
||||||
|
box: {
|
||||||
|
border: all_border,
|
||||||
|
alignment: { vertical: "middle", horizontal: "center" },
|
||||||
|
font: { size: 11 },
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
// // 첫 번째 행 설정, 높이와 제목 설정
|
||||||
|
|
||||||
|
// let ws_row1 = work_Sheet.getRow(1);
|
||||||
|
// ws_row1.height = 32;
|
||||||
|
// ws_row1.getCell(1).value = "검사항목";
|
||||||
|
// ws_row1.getCell(1).style = field_css.title
|
||||||
|
// work_Sheet.mergeCells('A1:E1');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
let ws_row = work_Sheet.getRow(1);
|
||||||
|
ws_row.height = 25;
|
||||||
|
// ws_row.getCell(1).style = field_css.blue;
|
||||||
|
// ws_row.getCell(1).value = "NO.";
|
||||||
|
ws_row.getCell(1).style = field_css.blue;
|
||||||
|
ws_row.getCell(1).value = "검사항목";
|
||||||
|
ws_row.getCell(2).style = field_css.blue;
|
||||||
|
ws_row.getCell(2).value = "검사항목명";
|
||||||
|
ws_row.getCell(3).style = field_css.blue;
|
||||||
|
ws_row.getCell(3).value = "검사유형";
|
||||||
|
ws_row.getCell(4).style = field_css.blue;
|
||||||
|
ws_row.getCell(4).value = "사용";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
work_Sheet.columns = [
|
||||||
|
{ width: 15 },
|
||||||
|
{ width: 30 },
|
||||||
|
{ width: 15 },
|
||||||
|
{ width: 15 },
|
||||||
|
{ width: 9 },
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 파일 생성 및 다운로드 부분
|
||||||
|
|
||||||
|
work_Book.xlsx.writeBuffer().then((data) => {
|
||||||
|
const blob = new Blob([data], {
|
||||||
|
type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
||||||
|
});
|
||||||
|
const url = window.URL.createObjectURL(blob);
|
||||||
|
const anchor = document.createElement("a");
|
||||||
|
anchor.href = url;
|
||||||
|
anchor.download = file_name;
|
||||||
|
anchor.click();
|
||||||
|
window.URL.revokeObjectURL(url);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
@ -13,13 +13,13 @@ class Tb_item_class {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
_this.tbList ="";
|
_this.tbList ="";
|
||||||
_this.itemData = "";
|
_this.itemData = "";
|
||||||
|
_this.ITEM_CD = "";
|
||||||
this.ajaxUrl = "./item.ajax.php";
|
this.ajaxUrl = "./item.ajax.php";
|
||||||
this.container = document.querySelector(container);
|
this.container = document.querySelector(container);
|
||||||
this.table = this.container.querySelector(".hy-table");
|
this.table = this.container.querySelector(".hy-table");
|
||||||
// this.upBtn = this.container.querySelector(".up-btn") || "";
|
// this.upBtn = this.container.querySelector(".up-btn") || "";
|
||||||
// this.downBtn = this.container.querySelector(".down-btn") || "";
|
// this.downBtn = this.container.querySelector(".down-btn") || "";
|
||||||
this.addBtn = this.container.querySelector(".add-btn");
|
this.addBtn = this.container.querySelector(".add-btn");
|
||||||
_this.ITEM_CD = "";
|
|
||||||
this.removeBtn = this.container.querySelector(".remove-btn");
|
this.removeBtn = this.container.querySelector(".remove-btn");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -279,7 +279,7 @@ class Tb_item_class {
|
||||||
},
|
},
|
||||||
{ formatter: "rownum", title: "NO", width: 50 },
|
{ formatter: "rownum", title: "NO", width: 50 },
|
||||||
{ field: "ITEM_CD", title: "품목", width: 150,editor:'input',editable:(cell)=>{ let val = cell.getData(); return val._STATUS_ === 'I' }, }, //품목 코드
|
{ field: "ITEM_CD", title: "품목", width: 150,editor:'input',editable:(cell)=>{ let val = cell.getData(); return val._STATUS_ === 'I' }, }, //품목 코드
|
||||||
{ field: "ITEM_NM", title: "품명", width: 250,editor:'input', }, //품목 코드
|
{ field: "ITEM_NM", title: "품명", width: 250,editor:'input', hozAlign:"left" }, //품목 코드
|
||||||
{ field: "DRAW_NO", title: "도면", width: 200,editor:'input' }, //도면 번호 - popup
|
{ field: "DRAW_NO", title: "도면", width: 200,editor:'input' }, //도면 번호 - popup
|
||||||
{ field: "ITEM_GRP", title: "품목 그룹", width: 80,
|
{ field: "ITEM_GRP", title: "품목 그룹", width: 80,
|
||||||
editor:"list",
|
editor:"list",
|
||||||
|
|
@ -522,7 +522,7 @@ class Tb_routing_class {
|
||||||
|
|
||||||
_this.fileData = JSON.parse(data).data;
|
_this.fileData = JSON.parse(data).data;
|
||||||
|
|
||||||
console.log(_this.fileData);
|
|
||||||
if(rowData._STATUS_ !== "I"){
|
if(rowData._STATUS_ !== "I"){
|
||||||
rowData.FILE_NM = _this.fileData.file_name;
|
rowData.FILE_NM = _this.fileData.file_name;
|
||||||
this.tbList.updateData([
|
this.tbList.updateData([
|
||||||
|
|
@ -546,7 +546,7 @@ class Tb_routing_class {
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(this.tbList.getData());
|
|
||||||
}else{
|
}else{
|
||||||
kuls_alert(data.msg);
|
kuls_alert(data.msg);
|
||||||
}
|
}
|
||||||
|
|
@ -1365,8 +1365,8 @@ class Tb_pic_class {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
_this.file = "";
|
_this.file = "";
|
||||||
_this.itemData ="";
|
_this.itemData ="";
|
||||||
this.ajaxUrl = "./item.ajax.php";
|
|
||||||
_this.download_url = "/include/getFile.php";
|
_this.download_url = "/include/getFile.php";
|
||||||
|
this.ajaxUrl = "./item.ajax.php";
|
||||||
this.container = document.querySelector(container);
|
this.container = document.querySelector(container);
|
||||||
this.table = this.container.querySelector(".hy-table");
|
this.table = this.container.querySelector(".hy-table");
|
||||||
this.addBtn = this.container.querySelector(".add-btn");
|
this.addBtn = this.container.querySelector(".add-btn");
|
||||||
|
|
@ -1501,7 +1501,7 @@ class Tb_pic_class {
|
||||||
},
|
},
|
||||||
complete: () => {
|
complete: () => {
|
||||||
window.clearTimeout(talert);
|
window.clearTimeout(talert);
|
||||||
this.getMainList();
|
|
||||||
// this.tbList.clearAlert();
|
// this.tbList.clearAlert();
|
||||||
// this.setFilter();
|
// this.setFilter();
|
||||||
},
|
},
|
||||||
|
|
@ -1706,11 +1706,11 @@ class Tb_pic_class {
|
||||||
{ field: "SID", visible:false},
|
{ field: "SID", visible:false},
|
||||||
{ field: "FILE_ID", visible:false},
|
{ field: "FILE_ID", visible:false},
|
||||||
{ field: "MAKE_TM", title: "등록일", width: 100, formatter: (cell)=>{
|
{ field: "MAKE_TM", title: "등록일", width: 100, formatter: (cell)=>{
|
||||||
let dateData = cell.getValue().date.substring(0,10);
|
// let dateData = cell.getValue().date.substring(0,10);
|
||||||
if(dateData == '1900-01-01'){
|
// if(dateData == '1900-01-01'){
|
||||||
dateData = '';
|
// dateData = '';
|
||||||
}
|
// }
|
||||||
return dateData;
|
return cell;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ field: "MAKE_USER_ID",title: "등록자", width: 100 },
|
{ field: "MAKE_USER_ID",title: "등록자", width: 100 },
|
||||||
|
|
|
||||||
|
|
@ -294,13 +294,14 @@ class Tb_facility_class {
|
||||||
{ formatter: "rownum", title: "NO", width: 50},
|
{ formatter: "rownum", title: "NO", width: 50},
|
||||||
{ field: "FACLT_NM", title: "설비", width: 150, editor: "input" , editable:(cell)=>{ let val = cell.getData(); return val._STATUS_ === 'I' },},
|
{ field: "FACLT_NM", title: "설비", width: 150, editor: "input" , editable:(cell)=>{ let val = cell.getData(); return val._STATUS_ === 'I' },},
|
||||||
{ field: "FACLT_CD", visible: false, width: 150},
|
{ field: "FACLT_CD", visible: false, width: 150},
|
||||||
{ field: "DEFECT_DT", title: "발생일", width: 150,editor:'date', editorParams:{
|
// { field: "DEFECT_DT", title: "발생일", width: 150,editor:'date', editorParams:{
|
||||||
min:"01/01/2000", // the minimum allowed value for the date picker
|
// min:"01/01/2000", // the minimum allowed value for the date picker
|
||||||
max:"02/12/9999", // the maximum allowed value for the date picker
|
// max:"02/12/9999", // the maximum allowed value for the date picker
|
||||||
format:"yyyy-MM-dd", // the format of the date value stored in the cell
|
// format:"yyyy-MM-dd", // the format of the date value stored in the cell
|
||||||
verticalNavigation:"table"}},
|
// verticalNavigation:"table"}},
|
||||||
{ field: "DEF_TM", title: "발생시간", width: 150, editor: tb_custom_editor.time },
|
// { field: "DEF_TM", title: "발생시간", width: 150, editor: tb_custom_editor.time },
|
||||||
{ field: "DEFECT_CONTENT", title: "고장내역", width: 300, editor: "input"},
|
{ field: "DEFECT_CONTENT", title: "고장내역", width: 300, editor: "input"},
|
||||||
|
{ field: "DEFECT_DT", title: "발생일", width: 150},
|
||||||
];
|
];
|
||||||
const commonFieldData = {
|
const commonFieldData = {
|
||||||
headerSort: true,
|
headerSort: true,
|
||||||
|
|
|
||||||
|
|
@ -299,11 +299,12 @@ class Tb_facility_class {
|
||||||
{ field: "FACLT_NM", title: "설비", width: 150,editor: "input", editable:(cell)=>{ let val = cell.getData(); return val._STATUS_ === 'I' }, },
|
{ field: "FACLT_NM", title: "설비", width: 150,editor: "input", editable:(cell)=>{ let val = cell.getData(); return val._STATUS_ === 'I' }, },
|
||||||
{ field: "FACLT_CD", visible: false, width: 150},
|
{ field: "FACLT_CD", visible: false, width: 150},
|
||||||
{ field: "REPAIR_NO", visible: false, width: 150},
|
{ field: "REPAIR_NO", visible: false, width: 150},
|
||||||
{ field: "REPAIR_DT", title: "수리일자", width: 150,editor:'date', editorParams: {max:'9999-12-31'} },
|
|
||||||
{ field: "REPAIR_CONTENT", title: "수리내역", width: 150,editor: "input" },
|
{ field: "REPAIR_CONTENT", title: "수리내역", width: 150,editor: "input" },
|
||||||
{ field: "REPAIR_BP_NM", title: "수리업체", width: 100,editor: "input" },
|
{ field: "REPAIR_BP_NM", title: "수리업체", width: 100,editor: "input" },
|
||||||
{ field: "REPAIR_AMT", title: "수리금액", width: 150,editor: "input" },
|
{ field: "REPAIR_AMT", title: "수리금액", width: 150,editor: "input", formatter:"money", formatterParams:{ decimal:".",precision:0 } },
|
||||||
{ field: "REPAIR_TEL_NO", title: "연락처", width: 200,editor: "input"},
|
{ field: "REPAIR_TEL_NO", title: "연락처", width: 200,editor: "input"},
|
||||||
|
// { field: "REPAIR_DT", title: "수리일자", width: 150,editor:'date', editorParams: {max:'9999-12-31'} },
|
||||||
|
{ field: "REPAIR_DT", title: "수리일자", width: 150 }
|
||||||
];
|
];
|
||||||
const commonFieldData = {
|
const commonFieldData = {
|
||||||
headerSort: true,
|
headerSort: true,
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
<?php
|
<?php
|
||||||
|
/*
|
||||||
|
* @Overview 불량실적 등록
|
||||||
|
* @History 2024-04-29 / 김승혁 / 문단정렬
|
||||||
|
*/
|
||||||
|
|
||||||
include_once "{$_SERVER['DOCUMENT_ROOT']}/common.inc.php";
|
include_once "{$_SERVER['DOCUMENT_ROOT']}/common.inc.php";
|
||||||
include_once _HOME_INC_PATH_ . "/ajax_init.php";
|
include_once _HOME_INC_PATH_ . "/ajax_init.php";
|
||||||
|
|
||||||
|
|
@ -10,6 +15,7 @@ if (class_exists("SangsengApi")) {
|
||||||
$_REQUEST['mode'] = isset($_REQUEST['mode']) ? $_REQUEST['mode'] : "";
|
$_REQUEST['mode'] = isset($_REQUEST['mode']) ? $_REQUEST['mode'] : "";
|
||||||
switch ($_REQUEST['mode']) {
|
switch ($_REQUEST['mode']) {
|
||||||
|
|
||||||
|
//로그인
|
||||||
case "memberLogin":
|
case "memberLogin":
|
||||||
if (csrf_check('memberLogin')) {
|
if (csrf_check('memberLogin')) {
|
||||||
$retval['mesg'] = cUtil\Mlang::getText("정상적인 접근이 아닙니다.");
|
$retval['mesg'] = cUtil\Mlang::getText("정상적인 접근이 아닙니다.");
|
||||||
|
|
@ -39,45 +45,9 @@ switch ($_REQUEST['mode']) {
|
||||||
unset($_COOKIE['kuls_save_session']);
|
unset($_COOKIE['kuls_save_session']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
//토큰
|
||||||
case "getItemList":
|
|
||||||
$sql = "USP_B_ITEM_S20";
|
|
||||||
// $params = Array(
|
|
||||||
// "ITEM_CD" => $_REQUEST['ITEM_CD'],
|
|
||||||
// );
|
|
||||||
$rst = $baseObj->DB->exec($sql, $params);
|
|
||||||
|
|
||||||
$rows = array();
|
|
||||||
if ($rst) {
|
|
||||||
$retval['code'] = 1;
|
|
||||||
while ($row = $baseObj->DB->fetch_array($rst)) {
|
|
||||||
$rows[] = $row;
|
|
||||||
}
|
|
||||||
$retval['data'] = $rows;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "getDefList":
|
|
||||||
$sql = "USP_P_DEF_RSLT_S20";
|
|
||||||
// $params = Array(
|
|
||||||
// "ITEM_CD" => $_REQUEST['ITEM_CD'],
|
|
||||||
// );
|
|
||||||
$rst = $baseObj->DB->exec($sql, $params);
|
|
||||||
$rows = array();
|
|
||||||
if ($rst) {
|
|
||||||
$retval['code'] = 1;
|
|
||||||
while ($row = $baseObj->DB->fetch_array($rst)) {
|
|
||||||
$rows[] = $row;
|
|
||||||
}
|
|
||||||
$retval['data'] = $rows;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
case "memberTokenLogin":
|
case "memberTokenLogin":
|
||||||
if (csrf_check('memberLogin')) {
|
if (csrf_check('memberLogin')) {
|
||||||
$retval['mesg'] = cUtil\Mlang::getText("정상적인 접근이 아닙니다.");
|
$retval['mesg'] = cUtil\Mlang::getText("정상적인 접근이 아닙니다.");
|
||||||
|
|
@ -110,16 +80,9 @@ switch ($_REQUEST['mode']) {
|
||||||
$retval['data']['save_id'] = '';
|
$retval['data']['save_id'] = '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
//로그인
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
case "memberJoin":
|
case "memberJoin":
|
||||||
$minfo = $baseObj->getMember($_REQUEST['member_id']);
|
$minfo = $baseObj->getMember($_REQUEST['member_id']);
|
||||||
if (csrf_check('memberJoin')) {
|
if (csrf_check('memberJoin')) {
|
||||||
|
|
@ -151,29 +114,15 @@ switch ($_REQUEST['mode']) {
|
||||||
$retval['code'] = $baseObj->join($ins_row);
|
$retval['code'] = $baseObj->join($ins_row);
|
||||||
$retval['mesg'] = cUtil\Mlang::getText("등록에 실패하였습니다.");
|
$retval['mesg'] = cUtil\Mlang::getText("등록에 실패하였습니다.");
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
//로그아웃
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
case "memberLogout":
|
case "memberLogout":
|
||||||
$apiObj->pushApi($GLOBALS['_Umem']['member_id'], "종료");
|
$apiObj->pushApi($GLOBALS['_Umem']['member_id'], "종료");
|
||||||
$retval['code'] = $baseObj->logout();
|
$retval['code'] = $baseObj->logout();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
//메뉴리스트
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
case "getSiteMenuList":
|
case "getSiteMenuList":
|
||||||
$mnuObj = new Menu(TB_menu_list);
|
$mnuObj = new Menu(TB_menu_list);
|
||||||
|
|
||||||
|
|
@ -190,8 +139,7 @@ switch ($_REQUEST['mode']) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
//거래처목록
|
||||||
|
|
||||||
case "getPartnerList":
|
case "getPartnerList":
|
||||||
$sql = "USP_B_BIZ_PARTNER_S10";
|
$sql = "USP_B_BIZ_PARTNER_S10";
|
||||||
$params = array(
|
$params = array(
|
||||||
|
|
@ -216,7 +164,7 @@ switch ($_REQUEST['mode']) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
//사업장
|
||||||
case "getBizareaList":
|
case "getBizareaList":
|
||||||
$sql = "USP_B_BIZ_AREA_S10";
|
$sql = "USP_B_BIZ_AREA_S10";
|
||||||
$params = Array(
|
$params = Array(
|
||||||
|
|
@ -224,10 +172,7 @@ switch ($_REQUEST['mode']) {
|
||||||
,"BP_NM" => "" //거래처명
|
,"BP_NM" => "" //거래처명
|
||||||
,"USEFLAG" => 'Y'
|
,"USEFLAG" => 'Y'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
$rst = $baseObj->DB->exec($sql, $params);
|
$rst = $baseObj->DB->exec($sql, $params);
|
||||||
|
|
||||||
$rows = array();
|
$rows = array();
|
||||||
if ($rst) {
|
if ($rst) {
|
||||||
$retval['code'] = 1;
|
$retval['code'] = 1;
|
||||||
|
|
@ -240,38 +185,6 @@ switch ($_REQUEST['mode']) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
case "getDeptTree":
|
|
||||||
$sql = "USP_B_DEPT_HISTORY_S11";
|
|
||||||
$params = array(
|
|
||||||
$_REQUEST['BIZ_AREA_CD'],
|
|
||||||
"",
|
|
||||||
"",
|
|
||||||
"USE_FLG" => "Y"
|
|
||||||
);
|
|
||||||
$rst = $baseObj->DB->exec($sql, $params);
|
|
||||||
|
|
||||||
$rows = array();
|
|
||||||
if ($rst) {
|
|
||||||
$retval['code'] = 1;
|
|
||||||
while ($row = $baseObj->DB->fetch_array($rst)) {
|
|
||||||
$row['WORK_STD_TIME'] = getDT_datetime($row['WORK_STD_TIME'], "H:i");
|
|
||||||
$rows[] = $row;
|
|
||||||
}
|
|
||||||
|
|
||||||
$retval['data'] = $rows;
|
|
||||||
/* 스크립트에서 처리
|
|
||||||
$mnuObj = new Menu(TB_menu_list);
|
|
||||||
|
|
||||||
$retval['data'] = $mnuObj->tree_by_parent($rows, 'DEPT_CD', 'PAR_DEPT_CD', '');
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
|
|
||||||
// 사원정보
|
// 사원정보
|
||||||
case 'getWorkerList':
|
case 'getWorkerList':
|
||||||
$squl = "USP_B_EMPLOYEE_S10";
|
$squl = "USP_B_EMPLOYEE_S10";
|
||||||
|
|
@ -295,12 +208,8 @@ $retval['data'] = $mnuObj->tree_by_parent($rows, 'DEPT_CD', 'PAR_DEPT_CD', '');
|
||||||
}else{
|
}else{
|
||||||
$retval['code'] = false;
|
$retval['code'] = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
// 부서정보
|
// 부서정보
|
||||||
case 'getDeptList':
|
case 'getDeptList':
|
||||||
$squl = "USP_B_DEPT_S10";
|
$squl = "USP_B_DEPT_S10";
|
||||||
|
|
@ -326,6 +235,69 @@ $retval['data'] = $mnuObj->tree_by_parent($rows, 'DEPT_CD', 'PAR_DEPT_CD', '');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
//부서 트리
|
||||||
|
case "getDeptTree":
|
||||||
|
$sql = "USP_B_DEPT_HISTORY_S11";
|
||||||
|
$params = array(
|
||||||
|
$_REQUEST['BIZ_AREA_CD'],
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"USE_FLG" => "Y"
|
||||||
|
);
|
||||||
|
$rst = $baseObj->DB->exec($sql, $params);
|
||||||
|
|
||||||
|
$rows = array();
|
||||||
|
if ($rst) {
|
||||||
|
$retval['code'] = 1;
|
||||||
|
while ($row = $baseObj->DB->fetch_array($rst)) {
|
||||||
|
$row['WORK_STD_TIME'] = getDT_datetime($row['WORK_STD_TIME'], "H:i");
|
||||||
|
$rows[] = $row;
|
||||||
|
}
|
||||||
|
|
||||||
|
$retval['data'] = $rows;
|
||||||
|
/* 스크립트에서 처리
|
||||||
|
$mnuObj = new Menu(TB_menu_list);
|
||||||
|
|
||||||
|
$retval['data'] = $mnuObj->tree_by_parent($rows, 'DEPT_CD', 'PAR_DEPT_CD', '');
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
// 품목 정보
|
||||||
|
case "getItemList":
|
||||||
|
$sql = "USP_B_ITEM_S20";
|
||||||
|
$params = Array(
|
||||||
|
"ITEM_NM" => '',
|
||||||
|
);
|
||||||
|
$rst = $baseObj->DB->exec($sql, $params);
|
||||||
|
|
||||||
|
$rows = array();
|
||||||
|
if ($rst) {
|
||||||
|
$retval['code'] = 1;
|
||||||
|
while ($row = $baseObj->DB->fetch_array($rst)) {
|
||||||
|
$rows[] = $row;
|
||||||
|
}
|
||||||
|
$retval['data'] = $rows;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
// 불량실적
|
||||||
|
case "getDefList":
|
||||||
|
$sql = "USP_P_DEF_RSLT_S20";
|
||||||
|
// $params = Array(
|
||||||
|
// "ITEM_CD" => $_REQUEST['ITEM_CD'],
|
||||||
|
// );
|
||||||
|
$rst = $baseObj->DB->exec($sql, $params);
|
||||||
|
$rows = array();
|
||||||
|
if ($rst) {
|
||||||
|
$retval['code'] = 1;
|
||||||
|
while ($row = $baseObj->DB->fetch_array($rst)) {
|
||||||
|
$rows[] = $row;
|
||||||
|
}
|
||||||
|
$retval['data'] = $rows;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
// 생산오더(작업지시)별 공정 정보
|
// 생산오더(작업지시)별 공정 정보
|
||||||
case 'getOrderList':
|
case 'getOrderList':
|
||||||
$squl = "USP_P_WO_S20";
|
$squl = "USP_P_WO_S20";
|
||||||
|
|
@ -346,7 +318,6 @@ $retval['data'] = $mnuObj->tree_by_parent($rows, 'DEPT_CD', 'PAR_DEPT_CD', '');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
// 공정정보
|
// 공정정보
|
||||||
case 'getOperList':
|
case 'getOperList':
|
||||||
$squl = "USP_B_OPERATION_S20";
|
$squl = "USP_B_OPERATION_S20";
|
||||||
|
|
@ -365,6 +336,7 @@ $retval['data'] = $mnuObj->tree_by_parent($rows, 'DEPT_CD', 'PAR_DEPT_CD', '');
|
||||||
$retval['code'] = false;
|
$retval['code'] = false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// 특정 품목에 대한 공정정보
|
// 특정 품목에 대한 공정정보
|
||||||
case 'getItemOperList':
|
case 'getItemOperList':
|
||||||
$squl = "USP_B_OPERATION_S30";
|
$squl = "USP_B_OPERATION_S30";
|
||||||
|
|
@ -436,25 +408,6 @@ $retval['data'] = $mnuObj->tree_by_parent($rows, 'DEPT_CD', 'PAR_DEPT_CD', '');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
case "getBasecodeList":
|
|
||||||
$where = new DB_Where();
|
|
||||||
$where->add("CD.Code_Uid <> ?", $_REQUEST['Bran_Uid']);
|
|
||||||
if ($_REQUEST['Group_Uid']) {
|
|
||||||
$where->add("CD.Code_Uid <> ?", $_REQUEST['Group_Uid']);
|
|
||||||
}
|
|
||||||
$where->add("BR.Active = ?", "Y");
|
|
||||||
$where->add("GR.Active = ?", "Y");
|
|
||||||
$rows = $baseObj->getAllBaseCodeList($_REQUEST['Bran_Uid'], $_REQUEST['Group_Uid'] ?: "", "", $where);
|
|
||||||
|
|
||||||
for ($a = 0; $a < count($rows); $a++) {
|
|
||||||
$rows[$a]['Code_Uid_Old'] = $rows[$a]['Code_Uid'];
|
|
||||||
}
|
|
||||||
|
|
||||||
$retval['code'] = 1;
|
|
||||||
$retval['data'] = $rows;
|
|
||||||
break;
|
|
||||||
|
|
||||||
// 생산실적 오더 공정 정보
|
// 생산실적 오더 공정 정보
|
||||||
case 'getRegOrderList':
|
case 'getRegOrderList':
|
||||||
$squl = "USP_P_REG_WO_S20";
|
$squl = "USP_P_REG_WO_S20";
|
||||||
|
|
@ -495,10 +448,27 @@ $retval['data'] = $mnuObj->tree_by_parent($rows, 'DEPT_CD', 'PAR_DEPT_CD', '');
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
//기초코드
|
||||||
|
case "getBasecodeList":
|
||||||
|
$where = new DB_Where();
|
||||||
|
$where->add("CD.Code_Uid <> ?", $_REQUEST['Bran_Uid']);
|
||||||
|
if ($_REQUEST['Group_Uid']) {
|
||||||
|
$where->add("CD.Code_Uid <> ?", $_REQUEST['Group_Uid']);
|
||||||
|
}
|
||||||
|
$where->add("BR.Active = ?", "Y");
|
||||||
|
$where->add("GR.Active = ?", "Y");
|
||||||
|
$rows = $baseObj->getAllBaseCodeList($_REQUEST['Bran_Uid'], $_REQUEST['Group_Uid'] ?: "", "", $where);
|
||||||
|
|
||||||
|
for ($a = 0; $a < count($rows); $a++) {
|
||||||
|
$rows[$a]['Code_Uid_Old'] = $rows[$a]['Code_Uid'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$retval['code'] = 1;
|
||||||
|
$retval['data'] = $rows;
|
||||||
|
break;
|
||||||
|
|
||||||
|
//기초코드
|
||||||
case "putBasecode":
|
case "putBasecode":
|
||||||
|
|
||||||
$_REQUEST['reqdata'] = json_decode($_REQUEST['reqdata']);
|
$_REQUEST['reqdata'] = json_decode($_REQUEST['reqdata']);
|
||||||
$rst = true;
|
$rst = true;
|
||||||
foreach ($_REQUEST['reqdata'] as $data) {
|
foreach ($_REQUEST['reqdata'] as $data) {
|
||||||
|
|
|
||||||
|
|
@ -82,7 +82,7 @@
|
||||||
.table-header .button-container{
|
.table-header .button-container{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: end;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -100,7 +100,7 @@
|
||||||
|
|
||||||
// table container
|
// table container
|
||||||
.table-container .button-box{
|
.table-container .button-box{
|
||||||
justify-content: flex-end;
|
justify-content: end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,60 +1,38 @@
|
||||||
|
|
||||||
.side-nav {
|
.side-nav {
|
||||||
max-width: 280px;
|
max-width: 280px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
border-right: solid 1px #e9e9e9;
|
|
||||||
|
border-right: solid 1px $gray-002;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
background: white;
|
background: white;
|
||||||
|
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.container.on .side-nav {
|
.container.on {
|
||||||
|
.side-nav {
|
||||||
width: 88px;
|
width: 88px;
|
||||||
overflow-y: visible;
|
|
||||||
align-items: center;
|
.fold-btn-container {
|
||||||
}
|
padding-left: 25%;
|
||||||
.container.on .side-nav .side-menu ul.fancytree-plain.fancytree-container {
|
|
||||||
position: static;
|
|
||||||
}
|
|
||||||
.container.on .side-nav .side-menu ul.fancytree-plain.fancytree-container > li {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
.container.on .side-nav .side-menu ul.fancytree-plain.fancytree-container > li span.fancytree-expander, .container.on .side-nav .side-menu ul.fancytree-plain.fancytree-container > li span.fancytree-title {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.container.on .side-nav .side-menu ul.fancytree-plain.fancytree-container > li span.fancytree-custom-icon {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
.container.on .side-nav .side-menu ul.fancytree-plain.fancytree-container > li ul {
|
|
||||||
position: absolute;
|
|
||||||
display: block;
|
|
||||||
left: 56px;
|
|
||||||
top: 0;
|
|
||||||
width: 250px;
|
|
||||||
background: #e9e9e9;
|
|
||||||
z-index: 2;
|
|
||||||
min-height: 52px;
|
|
||||||
max-height: 294px;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
.container.on .side-nav .side-menu ul.fancytree-plain.fancytree-container > li ul li span.fancytree-title {
|
|
||||||
color: black;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
.container.on .side-nav .fold-btn-container {
|
|
||||||
margin: 0 0 30px 0;
|
|
||||||
padding-left: 0;
|
|
||||||
width: auto;
|
width: auto;
|
||||||
}
|
|
||||||
.container.on .side-nav .fold-btn-container .fold-btn {
|
.fold-btn {
|
||||||
transform: rotate(180deg);
|
transform: rotate(180deg);
|
||||||
}
|
}
|
||||||
.container.on .main-part {
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.main-part{
|
||||||
width: calc(100% - 88px);
|
width: calc(100% - 88px);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.side-nav .fold-btn-container {
|
.side-nav .fold-btn-container {
|
||||||
margin-bottom: 30px;
|
margin-bottom: 30px;
|
||||||
|
|
@ -74,66 +52,126 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.side-nav .side-menu ul.fancytree-plain.fancytree-container {
|
.side-nav .side-menu{
|
||||||
|
|
||||||
|
ul.fancytree-plain.fancytree-container{
|
||||||
border: none;
|
border: none;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
|
|
||||||
|
> li > span{
|
||||||
|
border-bottom: solid 1px $gray-002;
|
||||||
}
|
}
|
||||||
.side-nav .side-menu ul.fancytree-plain.fancytree-container > li > span {
|
li {
|
||||||
border-bottom: solid 1px #e9e9e9;
|
|
||||||
}
|
|
||||||
.side-nav .side-menu ul.fancytree-plain.fancytree-container li {
|
|
||||||
min-height: 72px;
|
min-height: 72px;
|
||||||
}
|
|
||||||
.side-nav .side-menu ul.fancytree-plain.fancytree-container li > span {
|
|
||||||
|
> span{
|
||||||
height: 72px;
|
height: 72px;
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
|
||||||
.side-nav .side-menu ul.fancytree-plain.fancytree-container li > span:hover span.fancytree-title, .side-nav .side-menu ul.fancytree-plain.fancytree-container li > span:active span.fancytree-title {
|
&:hover, &:active{
|
||||||
|
span.fancytree-title{
|
||||||
color: #3c3c3c;
|
color: #3c3c3c;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
.side-nav .side-menu ul.fancytree-plain.fancytree-container li > span > span {
|
}
|
||||||
|
|
||||||
|
> span{
|
||||||
|
// 글자
|
||||||
color: #3c3c3c;
|
color: #3c3c3c;
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
}
|
|
||||||
.side-nav .side-menu ul.fancytree-plain.fancytree-container li > span > span.fancytree-custom-icon {
|
// 아이콘
|
||||||
|
&.fancytree-custom-icon{
|
||||||
color: #98A7FA;
|
color: #98A7FA;
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
}
|
}
|
||||||
.side-nav .side-menu ul.fancytree-plain.fancytree-container li > span.fancytree-node.fancytree-active span.fancytree-title {
|
}
|
||||||
|
|
||||||
|
// 활성화된 메뉴
|
||||||
|
&.fancytree-node.fancytree-active{
|
||||||
|
|
||||||
|
span.fancytree-title{
|
||||||
color: #3c3c3c;
|
color: #3c3c3c;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
.side-nav .side-menu ul.fancytree-plain.fancytree-container li > span.fancytree-node.fancytree-active:hover span.fancytree-title, .side-nav .side-menu ul.fancytree-plain.fancytree-container li > span.fancytree-node.fancytree-active:active span.fancytree-title {
|
|
||||||
|
&:hover, &:active{
|
||||||
|
span.fancytree-title{
|
||||||
color: #3c3c3c;
|
color: #3c3c3c;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
.side-nav .side-menu ul.fancytree-plain.fancytree-container li ul {
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 서브 메뉴
|
||||||
|
ul{
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
}
|
|
||||||
.side-nav .side-menu ul.fancytree-plain.fancytree-container li ul li {
|
li{
|
||||||
min-height: 48px;
|
min-height: 48px;
|
||||||
border-bottom: 1px solid #E1E4F9;
|
border-bottom: 1px solid $blue-003;
|
||||||
}
|
|
||||||
.side-nav .side-menu ul.fancytree-plain.fancytree-container li ul li > span {
|
> span{
|
||||||
height: 48px;
|
height: 48px;
|
||||||
width: -moz-fit-content;
|
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
padding-left: 1.5em;
|
padding-left: 1.5em;
|
||||||
}
|
span.fancytree-title{
|
||||||
.side-nav .side-menu ul.fancytree-plain.fancytree-container li ul li > span span.fancytree-title {
|
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #4A5ED2;
|
color: $blue-001;
|
||||||
}
|
}
|
||||||
.side-nav .side-menu ul.fancytree-plain.fancytree-container li ul li:hover {
|
|
||||||
background-color: #E1E4F9;
|
|
||||||
}
|
}
|
||||||
.side-nav .side-menu ul.fancytree-plain.fancytree-container li ul li:hover span.fancytree-title {
|
|
||||||
color: #4A5ED2;
|
&:hover{
|
||||||
|
background-color: $blue-003;
|
||||||
|
|
||||||
|
span.fancytree-title{
|
||||||
|
color: $blue-001;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.side-nav .side-menu {
|
||||||
|
}
|
||||||
|
|
||||||
|
.side-nav .side-menu ul {
|
||||||
|
}
|
||||||
|
|
||||||
|
.side-nav .side-menu ul li {
|
||||||
|
}
|
||||||
|
|
||||||
|
.side-nav .side-menu ul li span {
|
||||||
|
}
|
||||||
|
|
||||||
|
.side-nav .side-menu > ul {
|
||||||
|
}
|
||||||
|
|
||||||
|
.side-nav .side-menu > ul li span{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.side-nav .side-menu > ul li.on {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.side-nav .side-menu > ul > li > ul {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.side-nav .side-menu > ul > li > ul > li {
|
.side-nav .side-menu > ul > li > ul > li {
|
||||||
|
|
@ -141,34 +179,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.side-nav .side-menu > ul > li > ul > li > span {
|
.side-nav .side-menu > ul > li > ul > li > span {
|
||||||
color: #4A5ED2;
|
color: $blue-001;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-icon {
|
|
||||||
background-position: center;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-size: contain;
|
|
||||||
}
|
|
||||||
.menu-icon.base-icon {
|
|
||||||
background-image: url("../img/icon-shield.png");
|
|
||||||
}
|
|
||||||
.menu-icon.filed-icon {
|
|
||||||
background-image: url("../img/icon-industry.png");
|
|
||||||
}
|
|
||||||
.menu-icon.production-icon {
|
|
||||||
background-image: url("../img/icon-engineering.png");
|
|
||||||
}
|
|
||||||
.menu-icon.system-icon {
|
|
||||||
background-image: url("../img/icon-gear.png");
|
|
||||||
}
|
|
||||||
.menu-icon.insp-icon {
|
|
||||||
background-image: url("../img/icon-clipboard.svg");
|
|
||||||
width: 22px;
|
|
||||||
height: 22px;
|
|
||||||
margin-left: 0.6em;
|
|
||||||
}
|
|
||||||
.menu-icon.facility-icon {
|
|
||||||
background-image: url("../img/icon-cone.svg");
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -11,11 +11,11 @@ $later = date('Y-m-d', strtotime('+14 days'));
|
||||||
//if( !$GLOBALS['_Umem']['member_id'] ) {
|
//if( !$GLOBALS['_Umem']['member_id'] ) {
|
||||||
// move_page(_SVC_URL_, $GLOBALS['_Auth_']['deny_view']);
|
// move_page(_SVC_URL_, $GLOBALS['_Auth_']['deny_view']);
|
||||||
//}
|
//}
|
||||||
//
|
|
||||||
////접근 권한(조회) 불가 처리
|
//접근 권한(조회) 불가 처리
|
||||||
//if( !$GLOBALS['_Auth_']['menuObj']->hasMenuAuth("R", $GLOBALS['_Auth_']['cate_id']) ){
|
if( !$GLOBALS['_Auth_']['menuObj']->hasMenuAuth("R", $GLOBALS['_Auth_']['cate_id']) ){
|
||||||
// hback($GLOBALS['_Auth_']['deny_view']);
|
hback($GLOBALS['_Auth_']['deny_view']);
|
||||||
//}
|
}
|
||||||
|
|
||||||
$menu_hist = array();
|
$menu_hist = array();
|
||||||
if( $GLOBALS['_Auth_']['menuObj'] ){
|
if( $GLOBALS['_Auth_']['menuObj'] ){
|
||||||
|
|
|
||||||
|
|
@ -151,6 +151,38 @@ class CreatePopup2 {
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
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];
|
||||||
|
})
|
||||||
|
}
|
||||||
|
};
|
||||||
|
/*
|
||||||
|
* @Overview 테이블 행 선택 함수
|
||||||
|
* @Parameter 이벤트, 타겟 행
|
||||||
|
*/
|
||||||
|
dbClick(e, tgt) {
|
||||||
|
let rowData = tgt._row.data
|
||||||
|
this.setData(e, tgt);
|
||||||
|
console.log(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'});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -262,8 +262,9 @@ class CreatePopup{
|
||||||
*/
|
*/
|
||||||
dbClick(e, tgt) {
|
dbClick(e, tgt) {
|
||||||
let rowData = tgt._row.data
|
let rowData = tgt._row.data
|
||||||
|
|
||||||
this.setData(e, tgt);
|
this.setData(e, tgt);
|
||||||
console.log(tgt);
|
|
||||||
this.modal.delete();
|
this.modal.delete();
|
||||||
// this.tabrow.updateData({[this.columns.tgt_name]:row.data['BIZ_AREA_NM']});
|
// 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'});
|
// tabrow.updateData({[tgt_id]:row.data['BIZ_AREA_CD'],[tgt_name]:row.data['BIZ_AREA_NM'],_STATUS_:tabrow.getData()['_STATUS_']||'U'});
|
||||||
|
|
@ -721,8 +722,6 @@ const popRegOrder = function( columns, tabrow ){
|
||||||
{ field: "ITEM_NM", title: "품명", width: 100, },
|
{ field: "ITEM_NM", title: "품명", width: 100, },
|
||||||
{ field: "DRAW_NO", title: "도면번호", width: 100, },
|
{ field: "DRAW_NO", title: "도면번호", width: 100, },
|
||||||
{ field: "PRV_OP_CD", title: "이전공정", width: 100, },
|
{ field: "PRV_OP_CD", title: "이전공정", width: 100, },
|
||||||
{ field: "MAKE_TM", title: "등록시간", width: 100, },
|
|
||||||
{ field: "FACLT_CD", title: "설비", width: 100, },
|
|
||||||
{ field: "ORD_QTY", title: "지시수량", width: 150, formatter: "money", formatterParams: { decimal: ",", precision: 0 } },
|
{ 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 } }
|
{ field: "OP_WRK_QTY", title: "이전공정양품", width: 100, formatter: "money", formatterParams: { decimal: ",", precision: 0 } }
|
||||||
];
|
];
|
||||||
|
|
@ -756,7 +755,6 @@ const popRegFacility = function( columns, tabrow ){
|
||||||
{ formatter:"rownum", title: "No", width: 50, headerSort: false, hozAlign:'center', },
|
{ formatter:"rownum", title: "No", width: 50, headerSort: false, hozAlign:'center', },
|
||||||
{ field: "FACLT_CD", title: "설비코드", width: 150, },
|
{ field: "FACLT_CD", title: "설비코드", width: 150, },
|
||||||
{ field: "FACLT_NM", title: "설비명", width: 150, },
|
{ field: "FACLT_NM", title: "설비명", width: 150, },
|
||||||
{ field: "OP_CD" , title:"공정" ,width:100}
|
|
||||||
];
|
];
|
||||||
|
|
||||||
const setTableFilter = function(modal){ //검색어 필터 적용
|
const setTableFilter = function(modal){ //검색어 필터 적용
|
||||||
|
|
|
||||||
|
|
@ -44,4 +44,4 @@ const varsNCR_CD = <?=json_encode($GLOBALS['_NCR_CD']?:Array())?>;
|
||||||
const varsTASK_TYPE = <?=json_encode($GLOBALS['_TASK_TYPE']?:Array())?>;
|
const varsTASK_TYPE = <?=json_encode($GLOBALS['_TASK_TYPE']?:Array())?>;
|
||||||
const varsSTOP_CD = <?=json_encode($GLOBALS['_STOP_CD']?:Array())?>;
|
const varsSTOP_CD = <?=json_encode($GLOBALS['_STOP_CD']?:Array())?>;
|
||||||
const varsDEF_CD = <?=json_encode($GLOBALS['_DEF_CD']?:Array())?>;
|
const varsDEF_CD = <?=json_encode($GLOBALS['_DEF_CD']?:Array())?>;
|
||||||
const varsRSLT_GRP = <?= json_encode($GLOBALS['_RSLT_GRP'] ?: array()) ?>;
|
const varsRSLT_GRP = <?=json_encode($GLOBALS['_RSLT_GRP']?:Array())?>;
|
||||||
|
|
@ -1,5 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
$cate_id = "CNT_CT_WORKER";
|
$cate_id = "CNT_CT_WORKER";
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @Overview 작업자별 가공시간
|
||||||
|
* @History 2024-04-22 / 최승연 / 최초작성
|
||||||
|
*/
|
||||||
|
|
||||||
include_once "{$_SERVER['DOCUMENT_ROOT']}/common.inc.php";
|
include_once "{$_SERVER['DOCUMENT_ROOT']}/common.inc.php";
|
||||||
include_once _SVC_INC_PATH_ . "/auth_check.php";
|
include_once _SVC_INC_PATH_ . "/auth_check.php";
|
||||||
include_once _HOME_INC_PATH_ . "/ajax_init.php";
|
include_once _HOME_INC_PATH_ . "/ajax_init.php";
|
||||||
|
|
@ -12,12 +18,12 @@ if (!_notAuth("R")) {
|
||||||
case 'getWoOperList':
|
case 'getWoOperList':
|
||||||
|
|
||||||
|
|
||||||
$squl = "USP_P_WO_OPER_RSLT_S20";
|
$squl = "USP_P_CNT_CT_WORKER_S10";
|
||||||
|
|
||||||
$params = array(
|
$params = array(
|
||||||
"P_EMP_NO" => $_REQUEST["EMP_NO"] ?: "",
|
"P_EMP_NO" => $_REQUEST["EMP_NO"] ?: "",
|
||||||
"P_EMP_NM" => $_REQUEST["EMP_NM"] ?: "",
|
"P_EMP_NM" => $_REQUEST["EMP_NM"] ?: "",
|
||||||
"P_START_DATE" => $_REQUEST["date_st"],
|
"P_ST_DATE" => $_REQUEST["date_st"],
|
||||||
"P_ED_DATE" => $_REQUEST["date_ed"],
|
"P_ED_DATE" => $_REQUEST["date_ed"],
|
||||||
);
|
);
|
||||||
$rst = $baseObj->DB->exec($squl, $params);
|
$rst = $baseObj->DB->exec($squl, $params);
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,6 @@ class Tb_main_class {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
data.mode = mode
|
data.mode = mode
|
||||||
console.log(data)
|
|
||||||
// let USEFLAG = document.getElementById("USE_FLG").checked?"Y":"N"; //사용여부
|
// let USEFLAG = document.getElementById("USE_FLG").checked?"Y":"N"; //사용여부
|
||||||
ajax_json({
|
ajax_json({
|
||||||
url: this.ajaxUrl,
|
url: this.ajaxUrl,
|
||||||
|
|
@ -43,10 +42,11 @@ class Tb_main_class {
|
||||||
let originData = data.data;
|
let originData = data.data;
|
||||||
originData = originData.map(el=>{
|
originData = originData.map(el=>{
|
||||||
// 대기시간!!!!!!!! 변경할것
|
// 대기시간!!!!!!!! 변경할것
|
||||||
el[`REAL_RUN_TM_${el['WRK_DT']}`] = el['REAL_RUN_TM']
|
el[`REAL_RUN_TM_${el['WORK_DT']}`] = el['REAL_RUN_TM']
|
||||||
return el;
|
return el;
|
||||||
});
|
});
|
||||||
|
console.log(data.data);
|
||||||
|
console.log(originData);
|
||||||
originData = originData.reduce((acc, curr)=>{
|
originData = originData.reduce((acc, curr)=>{
|
||||||
const key = curr.EMP_NO + curr.WRK_TEAM;
|
const key = curr.EMP_NO + curr.WRK_TEAM;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,11 +13,11 @@ if (!_notAuth("R")) {
|
||||||
case 'getDefOrderList':
|
case 'getDefOrderList':
|
||||||
|
|
||||||
|
|
||||||
$squl = "USP_P_DEF_RSLT_S10";
|
$squl = "USP_P_CNT_DEF_WO_S10";
|
||||||
|
|
||||||
$params = array(
|
$params = array(
|
||||||
"P_ITEM_GRP" => $_REQUEST["ITEM_GRP"] ?: "",
|
"P_ITEM_GRP" => $_REQUEST["ITEM_GRP"] ?: "",
|
||||||
"P_START_DATE" => $_REQUEST["date_st"],
|
"P_ST_DATE" => $_REQUEST["date_st"],
|
||||||
"P_ED_DATE" => $_REQUEST["date_ed"],
|
"P_ED_DATE" => $_REQUEST["date_ed"],
|
||||||
);
|
);
|
||||||
$rst = $baseObj->DB->exec($squl, $params);
|
$rst = $baseObj->DB->exec($squl, $params);
|
||||||
|
|
|
||||||
|
|
@ -197,7 +197,7 @@ setFilter() {
|
||||||
// formatterParams: { checkval: "Y" },
|
// formatterParams: { checkval: "Y" },
|
||||||
// },
|
// },
|
||||||
{ formatter: "rownum", title: "NO", width: 50 },
|
{ formatter: "rownum", title: "NO", width: 50 },
|
||||||
{ field: "WO_NO", title: "오더번호", width: 100 },
|
{ field: "WO_NO", title: "오더번호", width: 100 ,visible : false},
|
||||||
{ field: "ITEM_CD", title: "품목", width: 100,},
|
{ field: "ITEM_CD", title: "품목", width: 100,},
|
||||||
{ field: "ITEM_GRP", title: "품목그룹", width: 100,},
|
{ field: "ITEM_GRP", title: "품목그룹", width: 100,},
|
||||||
...this.getDate()
|
...this.getDate()
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ if(!_notAuth("R")) {
|
||||||
// 생산오더 리스트 조회
|
// 생산오더 리스트 조회
|
||||||
case 'getDefectWorker':
|
case 'getDefectWorker':
|
||||||
|
|
||||||
$sql = "USP_P_WO_DEF_RSLT_S20";
|
$sql = "USP_P_CNT_DEF_EMP_S10";
|
||||||
$params = array(
|
$params = array(
|
||||||
"WRK_EMP_NO" => $_REQUEST['worker_pop'] ?: "",
|
"WRK_EMP_NO" => $_REQUEST['worker_pop'] ?: "",
|
||||||
"WRK_EMP_NM" => $_REQUEST['sub_worker_pop'] ?: "",
|
"WRK_EMP_NM" => $_REQUEST['sub_worker_pop'] ?: "",
|
||||||
|
|
|
||||||
|
|
@ -198,7 +198,7 @@ class Tb_main_class {
|
||||||
// },
|
// },
|
||||||
// { formatter: "rownum", title: "NO", width: 50 },
|
// { formatter: "rownum", title: "NO", width: 50 },
|
||||||
{ field: "WRK_TEAM", title: "소속", width: 100 },
|
{ field: "WRK_TEAM", title: "소속", width: 100 },
|
||||||
{ field: "EMP_NO", title: "성명", width: 100,},
|
{ field: "EMP_NM", title: "성명", width: 100,},
|
||||||
...this.getDate()
|
...this.getDate()
|
||||||
];
|
];
|
||||||
const commonFieldData = {
|
const commonFieldData = {
|
||||||
|
|
|
||||||
|
|
@ -13,10 +13,10 @@ if (!_notAuth("R")) {
|
||||||
case 'getFacltCtList':
|
case 'getFacltCtList':
|
||||||
|
|
||||||
|
|
||||||
$squl = "USP_P_FACLT_OPER_S20";
|
$squl = "USP_P_CNT_FACLT_CT_S10";
|
||||||
|
|
||||||
$params = array(
|
$params = array(
|
||||||
"P_START_DATE" => $_REQUEST["date_st"],
|
"P_ST_DATE" => $_REQUEST["date_st"],
|
||||||
"P_ED_DATE" => $_REQUEST["date_ed"],
|
"P_ED_DATE" => $_REQUEST["date_ed"],
|
||||||
"P_FACLT_CD" => $_REQUEST["FACLT_CD"] ?: "",
|
"P_FACLT_CD" => $_REQUEST["FACLT_CD"] ?: "",
|
||||||
"P_FACLT_NM" => $_REQUEST["FACLT_NM"] ?: "",
|
"P_FACLT_NM" => $_REQUEST["FACLT_NM"] ?: "",
|
||||||
|
|
|
||||||
|
|
@ -13,12 +13,12 @@ if (!_notAuth("R")) {
|
||||||
case 'getOperWtList':
|
case 'getOperWtList':
|
||||||
|
|
||||||
|
|
||||||
$squl = "USP_P_WO_OPER_S20";
|
$squl = "USP_P_CNT_OPER_WT_S10";
|
||||||
|
|
||||||
$params = array(
|
$params = array(
|
||||||
"P_OP_CD" => $_REQUEST["OP_CD"] ?: "",
|
"P_OP_CD" => $_REQUEST["OP_CD"] ?: "",
|
||||||
"P_OP_NM" => $_REQUEST["OP_NM"] ?: "",
|
"P_OP_NM" => $_REQUEST["OP_NM"] ?: "",
|
||||||
"P_START_DATE" => $_REQUEST["date_st"],
|
"P_ST_DATE" => $_REQUEST["date_st"],
|
||||||
"P_ED_DATE" => $_REQUEST["date_ed"],
|
"P_ED_DATE" => $_REQUEST["date_ed"],
|
||||||
);
|
);
|
||||||
$rst = $baseObj->DB->exec($squl, $params);
|
$rst = $baseObj->DB->exec($squl, $params);
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ if (!_notAuth("R")) {
|
||||||
case 'getFacltOperList':
|
case 'getFacltOperList':
|
||||||
|
|
||||||
|
|
||||||
$squl = "USP_P_FACLT_OPER_S30";
|
$squl = "USP_P_CNT_PROD_FACLT_S10";
|
||||||
|
|
||||||
$params = array(
|
$params = array(
|
||||||
"P_ST_DATE" => $_REQUEST["date_st"],
|
"P_ST_DATE" => $_REQUEST["date_st"],
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ include_once _SVC_INC_PATH_ . "/header.php";
|
||||||
<!-- <button class="point-btn" id="item_ex_down">엑셀다운</button>
|
<!-- <button class="point-btn" id="item_ex_down">엑셀다운</button>
|
||||||
<button class="point-btn" id="item_ex_load">엑셀업로드</button> -->
|
<button class="point-btn" id="item_ex_load">엑셀업로드</button> -->
|
||||||
<button class="point-btn" id="filter_btn">조회</button>
|
<button class="point-btn" id="filter_btn">조회</button>
|
||||||
<button class="point-btn disabled-btn" id="put_item" disabled>저장</button>
|
<!--<button class="point-btn disabled-btn" id="put_item" disabled>저장</button>-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 조회 및 저장 버튼 종료 // -->
|
<!-- 조회 및 저장 버튼 종료 // -->
|
||||||
|
|
|
||||||
|
|
@ -19,11 +19,10 @@ if (!_notAuth("R")) {
|
||||||
case 'getProdList':
|
case 'getProdList':
|
||||||
|
|
||||||
|
|
||||||
$squl = "USP_P_PRD_AMT_S10";
|
$squl = "USP_P_CNT_PROD_WORKER_S10";
|
||||||
|
|
||||||
$params = array(
|
$params = array(
|
||||||
// "P_ITEM_GRP" => $_REQUEST["ITEM_GRP"] ?: "",
|
"P_ST_DATE" => $_REQUEST["date_st"],
|
||||||
"P_START_DATE" => $_REQUEST["date_st"],
|
|
||||||
"P_ED_DATE" => $_REQUEST["date_ed"],
|
"P_ED_DATE" => $_REQUEST["date_ed"],
|
||||||
);
|
);
|
||||||
$rst = $baseObj->DB->exec($squl, $params);
|
$rst = $baseObj->DB->exec($squl, $params);
|
||||||
|
|
|
||||||
|
|
@ -218,9 +218,14 @@ setFilter() {
|
||||||
// console.log(avgValue);
|
// console.log(avgValue);
|
||||||
// console.log(parseInt(realKeys.length));
|
// console.log(parseInt(realKeys.length));
|
||||||
let hap = Object.values(otherData).filter(v => {return v !== undefined && v !== null});
|
let hap = Object.values(otherData).filter(v => {return v !== undefined && v !== null});
|
||||||
|
|
||||||
|
|
||||||
let avgValue = hap.reduce((a, b) => parseInt(a) + parseInt(b), 0) / hap.length;
|
let avgValue = hap.reduce((a, b) => parseInt(a) + parseInt(b), 0) / hap.length;
|
||||||
console.log(avgValue);
|
|
||||||
console.log();
|
console.log();
|
||||||
|
if(avgValue === NaN){
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
return avgValue;
|
return avgValue;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
|
|
@ -239,9 +244,9 @@ setFilter() {
|
||||||
{ field: "DEPT_NM", title: "소속", width: 100 },
|
{ field: "DEPT_NM", title: "소속", width: 100 },
|
||||||
{ field: "EMP_NM", title: "작업자", width: 100,},
|
{ field: "EMP_NM", title: "작업자", width: 100,},
|
||||||
{ field: "MONTH_AMOUNT", title: "월합계", width: 100, bottomCalc: "sum", formatter:"money", bottomCalcFormatter:"money", bottomCalcFormatterParams:{ precision:0 }, formatterParams:{ precision:0 }},
|
{ field: "MONTH_AMOUNT", title: "월합계", width: 100, bottomCalc: "sum", formatter:"money", bottomCalcFormatter:"money", bottomCalcFormatterParams:{ precision:0 }, formatterParams:{ precision:0 }},
|
||||||
{ field: "DAY_AVG", title: "일평균", width: 100, bottomCalc: "sum", bottomCalcFormatter:"money", bottomCalcFormatterParams:{ precision:0 },formatter:function(cell){
|
{ field: "DAY_AVG", title: "일평균", width: 100, bottomCalc: "sum",formatter:function(cell){
|
||||||
return _this.dayAvg(cell);
|
return _this.dayAvg(cell) ? _this.dayAvg(cell): "";
|
||||||
},
|
}, bottomCalcFormatter:"money",formatterParams:{ precision:0 }, bottomCalcFormatterParams:{ precision:0 }
|
||||||
},
|
},
|
||||||
...this.getDate()
|
...this.getDate()
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ include_once _SVC_INC_PATH_ . "/header.php";
|
||||||
<!-- <button class="point-btn" id="item_ex_down">엑셀다운</button>
|
<!-- <button class="point-btn" id="item_ex_down">엑셀다운</button>
|
||||||
<button class="point-btn" id="item_ex_load">엑셀업로드</button> -->
|
<button class="point-btn" id="item_ex_load">엑셀업로드</button> -->
|
||||||
<button class="point-btn" id="filter_btn">조회</button>
|
<button class="point-btn" id="filter_btn">조회</button>
|
||||||
<button class="point-btn disabled-btn" id="put_item" disabled>저장</button>
|
<!--<button class="point-btn disabled-btn" id="put_item" disabled>저장</button>-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 조회 및 저장 버튼 종료 // -->
|
<!-- 조회 및 저장 버튼 종료 // -->
|
||||||
|
|
|
||||||
|
|
@ -90,7 +90,7 @@ if(!_notAuth("R")) {
|
||||||
|
|
||||||
$params = array_merge($params, Array(
|
$params = array_merge($params, Array(
|
||||||
"WO_NO" => $data['WO_NO']?:"",
|
"WO_NO" => $data['WO_NO']?:"",
|
||||||
"ORD_STATUS" => $data['ORD_STATUS'],
|
"ORD_STATUS" => $data['ORD_STATUS'] == "Y"?"080":"",
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -108,11 +108,36 @@ if(!_notAuth("R")) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
// 공정별 실적 조회
|
// 공정별 실적 조회
|
||||||
case 'getOrderList':
|
|
||||||
|
|
||||||
$sql = "USP_P_WO_S30";
|
case "getOpList":
|
||||||
|
$sql = "USP_P_WO_OPER_RSLT_S30";
|
||||||
$params = array(
|
$params = array(
|
||||||
"order_pop" => $_REQUEST['order_pop'] ?: "",
|
"WO_NO" => $_REQUEST["WO_NO"] ?: "",
|
||||||
|
"ITEM_CD" => $_REQUEST["ITEM_CD"] ?: "",
|
||||||
|
);
|
||||||
|
$rst = $baseObj->DB->exec($sql, $params);
|
||||||
|
|
||||||
|
$row = array();
|
||||||
|
|
||||||
|
|
||||||
|
if ($rst) {
|
||||||
|
$retval['code'] = true;
|
||||||
|
while ($row = $baseObj->DB->fetch_array($rst)) {
|
||||||
|
$rows[] = $row;
|
||||||
|
}
|
||||||
|
;
|
||||||
|
$retval['data'] = $rows;
|
||||||
|
$retval['mesg'] = '정상 동작 되었습니다.';
|
||||||
|
} else {
|
||||||
|
$retval['code'] = false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
// 당일 오더완료내역 조회
|
||||||
|
case 'getOrderEndList':
|
||||||
|
|
||||||
|
$sql = "USP_P_WO_S40";
|
||||||
|
$params = array(
|
||||||
|
"date_st" => $_REQUEST['date_st'] ?: "",
|
||||||
);
|
);
|
||||||
|
|
||||||
$rst = $baseObj->DB->exec($sql, $params);
|
$rst = $baseObj->DB->exec($sql, $params);
|
||||||
|
|
@ -131,7 +156,6 @@ if(!_notAuth("R")) {
|
||||||
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,23 @@ class Tb_order_class {
|
||||||
success: (data) => {
|
success: (data) => {
|
||||||
console.log(data.code);
|
console.log(data.code);
|
||||||
if(data.code) {
|
if(data.code) {
|
||||||
this.tbList.setData(data.data);
|
let Data = data.data
|
||||||
|
for(let tempData in Data){
|
||||||
|
if(Data[tempData].ORD_STATUS === "080"){
|
||||||
|
Data[tempData].ORD_STATUS = "Y"
|
||||||
|
}
|
||||||
|
// Data[tempData].ORD_STATUS =
|
||||||
|
// console.log(Data[tempData]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// if(Data.ORD_STATUS = "080"){
|
||||||
|
// tempData.ORD_STATUS = "Y"
|
||||||
|
// console.log(tempData);
|
||||||
|
// }
|
||||||
|
|
||||||
|
this.tbList.setData(Data);
|
||||||
|
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
kuls_alert(data.mesg);
|
kuls_alert(data.mesg);
|
||||||
}
|
}
|
||||||
|
|
@ -106,9 +122,17 @@ class Tb_order_class {
|
||||||
* @function 선택된 모든 행 색 변경
|
* @function 선택된 모든 행 색 변경
|
||||||
*/
|
*/
|
||||||
rowClick(e, tgt) {
|
rowClick(e, tgt) {
|
||||||
|
let _this = this;
|
||||||
|
console.log(tgt);
|
||||||
|
let clickRow = tgt._row;
|
||||||
|
let clickData = clickRow?.data;
|
||||||
|
Tb_report.rowData = clickData;
|
||||||
|
|
||||||
|
Tb_report.getMainList();
|
||||||
|
|
||||||
if (tgt.isSelected()) {
|
if (tgt.isSelected()) {
|
||||||
tgt.deselect();
|
tgt.deselect();
|
||||||
// this.clearRemove(tgt);
|
this.clearRemove(tgt);
|
||||||
} else {
|
} else {
|
||||||
this.tbList.deselectRow();
|
this.tbList.deselectRow();
|
||||||
tgt.select();
|
tgt.select();
|
||||||
|
|
@ -123,7 +147,11 @@ class Tb_order_class {
|
||||||
*/
|
*/
|
||||||
cellClick(e, tgt) {
|
cellClick(e, tgt) {
|
||||||
switch (tgt.getField()) {
|
switch (tgt.getField()) {
|
||||||
|
case "ORD_STATUS":
|
||||||
|
// console.log(tgt.getValue());
|
||||||
|
tgt.setValue(tgt.getValue() == "Y" ? "" : "Y");
|
||||||
|
// this.clearRemove(tgt.getRow())
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
this.rowClick && this.rowClick(e, tgt);
|
this.rowClick && this.rowClick(e, tgt);
|
||||||
break;
|
break;
|
||||||
|
|
@ -147,12 +175,9 @@ class Tb_order_class {
|
||||||
this.getMainList('getOrderList','order_pop','order_product_pop','order_bp_pop','date_st');
|
this.getMainList('getOrderList','order_pop','order_product_pop','order_bp_pop','date_st');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
console.log(this.tbList.getData().filter(row=> row._STATUS_));
|
|
||||||
|
|
||||||
const blankObj = this.tbList.getRows().filter(row => {
|
const blankObj = this.tbList.getRows().filter(row => {
|
||||||
|
|
||||||
return Object.keys(row._row.data).filter(key => key !== '_STATUS_' && key !== 'USE_FLG').every(key => {
|
return Object.keys(row._row.data).filter(key => key !== '_STATUS_' && key !== 'USE_FLG').every(key => {
|
||||||
|
|
||||||
const value = row._row.data[key];
|
const value = row._row.data[key];
|
||||||
return (value === undefined || value === '');
|
return (value === undefined || value === '');
|
||||||
});
|
});
|
||||||
|
|
@ -228,6 +253,13 @@ class Tb_order_class {
|
||||||
precision:0
|
precision:0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{field:"PRD_QTY", title:"실적 수량", width:80,
|
||||||
|
formatter:"money",
|
||||||
|
formatterParams:{
|
||||||
|
decimal:".",
|
||||||
|
precision:0
|
||||||
|
}
|
||||||
|
},
|
||||||
{field:"UNIT", title:"단위", width:50},
|
{field:"UNIT", title:"단위", width:50},
|
||||||
{field:"", title:"", width:50},
|
{field:"", title:"", width:50},
|
||||||
{field:"", title:"비고", width: 300},
|
{field:"", title:"비고", width: 300},
|
||||||
|
|
@ -271,6 +303,7 @@ class Tb_order_class {
|
||||||
filterBtn.addEventListener(evt, () => {
|
filterBtn.addEventListener(evt, () => {
|
||||||
// setFilter 또는 setData
|
// setFilter 또는 setData
|
||||||
this.getMainList('getOrderList','order_pop','order_product_pop','order_bp_pop','date_st');
|
this.getMainList('getOrderList','order_pop','order_product_pop','order_bp_pop','date_st');
|
||||||
|
Tb_daily.getMainList('getOrderEndList','date_st');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
// 저장
|
// 저장
|
||||||
|
|
@ -286,35 +319,44 @@ class Tb_order_class {
|
||||||
|
|
||||||
class Tb_report_class {
|
class Tb_report_class {
|
||||||
constructor(container) {
|
constructor(container) {
|
||||||
|
let _this = this;
|
||||||
this.ajaxUrl = "./mng_order_result.ajax.php";
|
this.ajaxUrl = "./mng_order_result.ajax.php";
|
||||||
this.code =""; // 품목 코드
|
this.code =""; // 품목 코드
|
||||||
|
|
||||||
this.container = document.querySelector(container);
|
this.container = document.querySelector(container);
|
||||||
this.table = this.container.querySelector(".hy-table")
|
this.table = this.container.querySelector(".hy-table")
|
||||||
// this.upBtn = this.container.querySelector(".up-btn") || ""
|
// this.upBtn = this.container.querySelector(".up-btn") || ""
|
||||||
// this.downBtn = this.container.querySelector(".down-btn") || ""
|
// this.downBtn = this.container.querySelector(".down-btn") || ""
|
||||||
// this.addBtn = this.container.querySelector(".add-btn")
|
// this.addBtn = this.container.querySelector(".add-btn")
|
||||||
// this.removeBtn = this.container.querySelector(".remove-btn")
|
// this.removeBtn = this.container.querySelector(".remove-btn")
|
||||||
|
_this.rowData ="";
|
||||||
|
// _this.itemcd ="";
|
||||||
}
|
}
|
||||||
|
|
||||||
// tableBuild 되었을때 getManList
|
// tableBuild 되었을때 getManList
|
||||||
getMainList(code) {
|
getMainList() {
|
||||||
// let talert = window.setTimeout(()=> { this.tbList.alert("Loading ...") }, 1000);
|
let _this = this;
|
||||||
// this.code = code;
|
if(_this.rowData == undefined){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
console.log(_this.rowData);
|
||||||
|
// console.log(Tb_item.tbList.getSelectedData()[0]);
|
||||||
|
let talert = window.setTimeout(()=> { this.tbList.alert("Loading ...") }, 1000);
|
||||||
|
ajax_json({
|
||||||
|
url: this.ajaxUrl,
|
||||||
|
data: { mode: "getOpList", WO_NO :_this.rowData?.WO_NO, ITEM_CD: _this.rowData?.ITEM_CD },
|
||||||
|
success: (data) => {
|
||||||
|
this.tbList.setData(data.data);
|
||||||
|
|
||||||
// ajax_json({
|
},
|
||||||
// url: this.ajaxUrl,
|
error: (req, status, err) => {
|
||||||
// data: { mode: "", PR_CD: this.code},
|
kuls_alert(err.message);
|
||||||
// success: (data) => {},
|
},
|
||||||
// error: (req, status, err) => {
|
complete: () => {
|
||||||
// kuls_alert(err.message);
|
window.clearTimeout(talert);
|
||||||
// },
|
// this.tbList.clearAlert();
|
||||||
// complete: () => {
|
// this.setFilter();
|
||||||
// // window.clearTimeout(talert);
|
},
|
||||||
// // this.tbList.clearAlert();
|
});
|
||||||
// // this.setFilter();
|
|
||||||
// },
|
|
||||||
// });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setFilter() {}
|
setFilter() {}
|
||||||
|
|
@ -381,18 +423,18 @@ class Tb_report_class {
|
||||||
const fields = [
|
const fields = [
|
||||||
// 생산오더, 품목, 도면번호, 거래처, 납기일, 지시일, 지시구분, 지시 수량, 단위, 상태, 작업순서, 비고
|
// 생산오더, 품목, 도면번호, 거래처, 납기일, 지시일, 지시구분, 지시 수량, 단위, 상태, 작업순서, 비고
|
||||||
{formatter:"rownum", title:"NO", width:50},
|
{formatter:"rownum", title:"NO", width:50},
|
||||||
{field:"", title:"공순", width:80},
|
{field:"OP_SEQ", title:"공순", width:80},
|
||||||
{field:"", title:"공정", width:80},
|
{field:"OP_CD", title:"공정", width:80},
|
||||||
{title:"설비", cssClass:"width-150",
|
{title:"설비", cssClass:"width-150",
|
||||||
columns:[
|
columns:[
|
||||||
{field:"", title:"", width:50},
|
{field:"FACLT_CD", title:"", width:50},
|
||||||
{field:"", title:"", width:100},
|
{field:"FACLT_NM", title:"", width:100},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{field:"", title:"작업자", width:100},
|
{field:"EMP_NM", title:"작업자", width:100},
|
||||||
{field:"", title:"지시수량", width:80},
|
// {field:"ORD_QTY", title:"지시수량", width:80},
|
||||||
{field:"", title:"실적수량", width:80},
|
{field:"PRD_QTY", title:"실적수량", width:80},
|
||||||
{field:"", title:"불량수량", width:80},
|
// {field:"DEF_QTY", title:"불량수량", width:80},
|
||||||
{field:"", title:"종료시간", width:150},
|
{field:"", title:"종료시간", width:150},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -447,22 +489,69 @@ class Tb_daily_class {
|
||||||
// this.removeBtn = this.container.querySelector(".remove-btn")
|
// this.removeBtn = this.container.querySelector(".remove-btn")
|
||||||
}
|
}
|
||||||
|
|
||||||
// tableBuild 되었을때 getManList
|
/*
|
||||||
getMainList(code) {
|
* @Overview 데이터 조회 함수
|
||||||
// let talert = window.setTimeout(()=> { this.tbList.alert("Loading ...") }, 1000);
|
* @Parameter mode : AJAX 비동깉 통신 시 사용할 STRING 값, ...test : 조회할 INPUT 태그의 ID 값
|
||||||
// ajax_json({
|
*/
|
||||||
// url: this.ajaxUrl,
|
getMainList(mode,...test) {
|
||||||
// data: { mode: "" , PROCESS: this.code},
|
// const talert= window.setTimeout(()=> { this.tbList.alert("Loading ...") }, 1000);
|
||||||
// success: (data) => {},
|
let arr = test;
|
||||||
// error: (req, status, err) => {
|
// let testList = new Array();
|
||||||
// kuls_alert(err.message);
|
let data = new Object();
|
||||||
// },
|
for(let i=0; i < arr.length; i++){
|
||||||
// complete: () => {
|
let temp = [arr[i]]
|
||||||
// // window.clearTimeout(talert);
|
|
||||||
// // this.tbList.clearAlert();
|
if(document.getElementById(arr[i])?.type !== "checkbox"){
|
||||||
// // this.setFilter();
|
data[temp] = document.getElementById(temp)?.value
|
||||||
// },
|
}else{
|
||||||
|
data[temp] = document.getElementById(temp)?.checked?"Y":"N";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
data.mode = mode
|
||||||
|
// let USEFLAG = document.getElementById("USE_FLG").checked?"Y":"N"; //사용여부
|
||||||
|
ajax_json({
|
||||||
|
url: this.ajaxUrl,
|
||||||
|
data: data,
|
||||||
|
|
||||||
|
success: (data) => {
|
||||||
|
console.log(data.code);
|
||||||
|
if(data.code) {
|
||||||
|
let Data = data.data
|
||||||
|
for(let tempData in Data){
|
||||||
|
if(Data[tempData].ORD_STATUS === "080"){
|
||||||
|
Data[tempData].ORD_STATUS = "Y"
|
||||||
|
}
|
||||||
|
// Data[tempData].ORD_STATUS =
|
||||||
|
// console.log(Data[tempData]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// if(Data.ORD_STATUS = "080"){
|
||||||
|
// tempData.ORD_STATUS = "Y"
|
||||||
|
// console.log(tempData);
|
||||||
|
// }
|
||||||
|
|
||||||
|
this.tbList.setData(Data);
|
||||||
|
|
||||||
|
|
||||||
|
}else{
|
||||||
|
kuls_alert(data.mesg);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: (req, status, err) => {
|
||||||
|
kuls_alert(err.message);
|
||||||
|
},
|
||||||
|
complete: () => {
|
||||||
|
// window.clearTimeout(talert);
|
||||||
|
this.tbList.clearAlert();
|
||||||
|
// this.setFilter();
|
||||||
|
// this.tbList.getRows().forEach(row=>{
|
||||||
|
// row.getCell("WO_NO").getElement().addEventListener("click",(e)=>{
|
||||||
|
// this.rowClick(e,row);
|
||||||
|
// })
|
||||||
// });
|
// });
|
||||||
|
},
|
||||||
|
});
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
setFilter() {}
|
setFilter() {}
|
||||||
|
|
@ -528,14 +617,14 @@ class Tb_daily_class {
|
||||||
// field 정의
|
// field 정의
|
||||||
const fields = [
|
const fields = [
|
||||||
{formatter:"rownum", title:"NO", width:50},
|
{formatter:"rownum", title:"NO", width:50},
|
||||||
{field:"", title:"생산오더", width:100},
|
{field:"WO_NO", title:"생산오더", width:100},
|
||||||
{field:"", title:"품목", width:100},
|
{field:"ITEM_CD", title:"품목", width:100},
|
||||||
{field:"", title:"오더번호", width:200},
|
// {field:"", title:"오더번호", width:200},
|
||||||
{field:"", title:"거래처", width:150},
|
{field:"BP_CD", title:"거래처", width:150},
|
||||||
{field:"", title:"납기일", width:100},
|
{field:"DLVY_REQ_DT", title:"납기일", width:100},
|
||||||
{field:"", title:"지시 구분", width:100},
|
{field:"ORD_TYPE", title:"지시 구분", width:100},
|
||||||
{field:"", title:"지시 수량", width:100},
|
{field:"ORD_QTY", title:"지시 수량", width:100},
|
||||||
{field:"", title:"물량 수량", width:100},
|
{field:"PRD_QTY", title:"물량 수량", width:100},
|
||||||
{field:"", title:"최종공정</br>완료시간", width:100},
|
{field:"", title:"최종공정</br>완료시간", width:100},
|
||||||
{field:"", title:"완료처리</br>시간", width:100},
|
{field:"", title:"완료처리</br>시간", width:100},
|
||||||
];
|
];
|
||||||
|
|
@ -558,7 +647,7 @@ class Tb_daily_class {
|
||||||
|
|
||||||
// 데이터 불러오기
|
// 데이터 불러오기
|
||||||
this.tbList.on("tableBuilt", () => {
|
this.tbList.on("tableBuilt", () => {
|
||||||
this.getMainList('getOrderList','order_pop','order_product_pop','order_bp_pop','date_st');
|
this.getMainList('getOrderEndList','date_st');
|
||||||
});
|
});
|
||||||
// row 클릭 시에
|
// row 클릭 시에
|
||||||
this.tbList.on("rowClick", (e, tgt) => {
|
this.tbList.on("rowClick", (e, tgt) => {
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,7 @@ include_once _SVC_INC_PATH_ . "/header.php";
|
||||||
<label for="order_product_pop">품목</label>
|
<label for="order_product_pop">품목</label>
|
||||||
<div class="input-box">
|
<div class="input-box">
|
||||||
<input type="text" id="order_product_pop">
|
<input type="text" id="order_product_pop">
|
||||||
<?php include _SVC_INC_PATH_ . '/img/popupIcon.php' ?>
|
<span onclick="popItem({'ITEM_CD':'order_product_pop'})"><?php include _SVC_INC_PATH_ . '/img/popupIcon.php' ?></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -41,7 +41,7 @@ include_once _SVC_INC_PATH_ . "/header.php";
|
||||||
<label for="order_bp_pop">고객사</label>
|
<label for="order_bp_pop">고객사</label>
|
||||||
<div class="input-box">
|
<div class="input-box">
|
||||||
<input type="text" id="order_bp_pop">
|
<input type="text" id="order_bp_pop">
|
||||||
<?php include _SVC_INC_PATH_ . '/img/popupIcon.php' ?>
|
<span onclick="popClient({'BP_CD':'order_bp_pop'})"><?php include _SVC_INC_PATH_ . '/img/popupIcon.php' ?></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -118,7 +118,7 @@ class CreatePopup2 {
|
||||||
}
|
}
|
||||||
// 데이터 렌더링
|
// 데이터 렌더링
|
||||||
getPopList(){
|
getPopList(){
|
||||||
console.log(this.columns);
|
console.log("test");
|
||||||
ajax_json({
|
ajax_json({
|
||||||
url: "/ksvc/inc/common.ajax.php",
|
url: "/ksvc/inc/common.ajax.php",
|
||||||
data: {mode: this.mode, columns : this.columns },
|
data: {mode: this.mode, columns : this.columns },
|
||||||
|
|
@ -137,6 +137,18 @@ class CreatePopup2 {
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
/*
|
||||||
|
* @Overview 테이블 행 선택 함수
|
||||||
|
* @Parameter 이벤트, 타겟 행
|
||||||
|
*/
|
||||||
|
dbClick(e, tgt) {
|
||||||
|
let rowData = tgt._row.data
|
||||||
|
this.setData(e, tgt);
|
||||||
|
console.log(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'});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -168,5 +180,6 @@ const popItemOper = function( columns, tabrow ){
|
||||||
});
|
});
|
||||||
|
|
||||||
Tb_modal.init();
|
Tb_modal.init();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -256,7 +256,8 @@ if(!_notAuth("R")) {
|
||||||
"ORD_QTY" => $data['ORD_QTY'],
|
"ORD_QTY" => $data['ORD_QTY'],
|
||||||
// "ORD_DT" => $data['ORD_DT']?:date("Y-m-d", time()),
|
// "ORD_DT" => $data['ORD_DT']?:date("Y-m-d", time()),
|
||||||
// "ORD_DT" => date("Y-m-d", time()),
|
// "ORD_DT" => date("Y-m-d", time()),
|
||||||
"ORD_TYPE" => $data['WRK_QTY']?:"",
|
"WRK_QTY" => $data['WRK_QTY']?:"",
|
||||||
|
"WO_OP_AMT" => $data['WO_OP_AMT']?:"",
|
||||||
"ORD_STATUS" => $data['PLANT_CD']?:"",
|
"ORD_STATUS" => $data['PLANT_CD']?:"",
|
||||||
// "DLVY_REQ_DT" => date("Y-m-d", time()),
|
// "DLVY_REQ_DT" => date("Y-m-d", time()),
|
||||||
// "DLVY_REQ_DT" => $data['DLVY_REQ_DT']?:date("Y-m-d", time()),
|
// "DLVY_REQ_DT" => $data['DLVY_REQ_DT']?:date("Y-m-d", time()),
|
||||||
|
|
|
||||||
|
|
@ -109,6 +109,7 @@ class Tb_order_class {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
let clickRow = tgt._row;
|
let clickRow = tgt._row;
|
||||||
let clickData = clickRow.data;
|
let clickData = clickRow.data;
|
||||||
|
|
||||||
// Tb_process.prodData = clickData;
|
// Tb_process.prodData = clickData;
|
||||||
// Tb_check.prodData = clickData;
|
// Tb_check.prodData = clickData;
|
||||||
// Tb_check.getMainList(Tb_check.prodData);
|
// Tb_check.getMainList(Tb_check.prodData);
|
||||||
|
|
@ -122,6 +123,9 @@ class Tb_order_class {
|
||||||
tgt.select();
|
tgt.select();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
if(document.getElementById("hidden_item_cd")?.value === clickData?.ITEM_CD){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
Tb_process.getMainList();
|
Tb_process.getMainList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -349,6 +353,14 @@ class Tb_order_class {
|
||||||
this.getMainList("getOrderList","order_date_st", "order_date_ed", "ITEM_CD"," ITEM_NM", "BP_CD", "BP_NM");
|
this.getMainList("getOrderList","order_date_st", "order_date_ed", "ITEM_CD"," ITEM_NM", "BP_CD", "BP_NM");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
// 조회
|
||||||
|
["click", "keypress"].forEach((evt) => {
|
||||||
|
const copyBtn = document.querySelector("#copy_btn");
|
||||||
|
copyBtn.addEventListener(evt, () => {
|
||||||
|
Tb_process.copyRow();
|
||||||
|
|
||||||
|
});
|
||||||
|
});
|
||||||
// 저장
|
// 저장
|
||||||
["click", "keypress"].forEach((evt) => {
|
["click", "keypress"].forEach((evt) => {
|
||||||
const putBtn = document.querySelector("#put_btn");
|
const putBtn = document.querySelector("#put_btn");
|
||||||
|
|
@ -417,7 +429,45 @@ class Tb_process_class {
|
||||||
this.lastNum += 10;
|
this.lastNum += 10;
|
||||||
this.tbList.addRow({ OP_SEQ : this.lastNum, WO_NO : Tb_order.tbList.getSelectedData()[0].WO_NO, _STATUS_: "I" });
|
this.tbList.addRow({ OP_SEQ : this.lastNum, WO_NO : Tb_order.tbList.getSelectedData()[0].WO_NO, _STATUS_: "I" });
|
||||||
}
|
}
|
||||||
|
copyRow(){
|
||||||
|
let _this = this;
|
||||||
|
ajax_json({
|
||||||
|
|
||||||
|
url: "/ksvc/inc/common.ajax.php",
|
||||||
|
data: {mode: "getItemOperList", ITEM_CD: Tb_order.tbList.getSelectedData()[0].ITEM_CD },
|
||||||
|
success:( data ) => {
|
||||||
|
if( data.code ){
|
||||||
|
// console.log(data.data)
|
||||||
|
console.log(data.data);
|
||||||
|
let makingData =data.data
|
||||||
|
for(let temp in data.data){
|
||||||
|
if(this.lastNum == 0){
|
||||||
|
this.lastNum += 10;
|
||||||
|
_this.tbList.addRow({
|
||||||
|
OP_CD : makingData[temp].OP_CD,
|
||||||
|
OP_SEQ : makingData[temp].OP_SEQ ,
|
||||||
|
WO_OP_AMT : makingData[temp].WO_OP_AMT,
|
||||||
|
WO_NO : Tb_order.tbList.getSelectedData()[0].WO_NO, _STATUS_: "I" });
|
||||||
|
|
||||||
|
}else{
|
||||||
|
this.lastNum += 10;
|
||||||
|
_this.tbList.addRow({
|
||||||
|
OP_CD : makingData[temp].OP_CD,
|
||||||
|
OP_SEQ : this.lastNum ,
|
||||||
|
WO_OP_AMT : makingData[temp].WO_OP_AMT,
|
||||||
|
WO_NO : Tb_order.tbList.getSelectedData()[0].WO_NO, _STATUS_: "I" });
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log(this.lastNum);
|
||||||
|
},
|
||||||
|
error: (request, status, error)=>{
|
||||||
|
kuls_alert(error.message);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
document.getElementById("hidden_item_cd").value = Tb_order.tbList?.getSelectedData()[0]?.ITEM_CD;
|
||||||
|
}
|
||||||
|
|
||||||
sortingRouting(){
|
sortingRouting(){
|
||||||
let temArr = this.tbList.getData(); // 테이블 전체 데이터
|
let temArr = this.tbList.getData(); // 테이블 전체 데이터
|
||||||
|
|
@ -622,13 +672,14 @@ class Tb_process_class {
|
||||||
},
|
},
|
||||||
{formatter:"rownum", title:"NO", width:50},
|
{formatter:"rownum", title:"NO", width:50},
|
||||||
{field:"OP_SEQ", title:"공순", width:100},
|
{field:"OP_SEQ", title:"공순", width:100},
|
||||||
{field:"OP_CD", title:"공정", width:100,editor: "input"},
|
{field:"OP_CD", title:"공정명", width:100,editor: "input"},
|
||||||
{field:"ORD_QTY", title:"지시 수량", width:80 ,editor: "input",
|
{field:"WO_OP_AMT", title:"공정 단가", width:80 ,editor: "input",
|
||||||
formatter: "money",
|
formatter: "money",
|
||||||
formatterParams: {
|
formatterParams: {
|
||||||
decimal:".",
|
decimal:".",
|
||||||
precision:0
|
precision:0
|
||||||
}
|
},
|
||||||
|
hozAlign: "right"
|
||||||
},
|
},
|
||||||
// {field:"", title:"준비시간</br>(분)", width:100},
|
// {field:"", title:"준비시간</br>(분)", width:100},
|
||||||
// {field:"", title:"가공시간</br>(분)", width:100},
|
// {field:"", title:"가공시간</br>(분)", width:100},
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,7 @@ include_once _SVC_INC_PATH_ . "/header.php";
|
||||||
<div class="input-box">
|
<div class="input-box">
|
||||||
<label for="BP_NM"></label>
|
<label for="BP_NM"></label>
|
||||||
<input type="text" id="BP_NM" placeholder="거래처명">
|
<input type="text" id="BP_NM" placeholder="거래처명">
|
||||||
|
<input type="hidden" id="hidden_item_cd">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -66,6 +67,7 @@ include_once _SVC_INC_PATH_ . "/header.php";
|
||||||
<!-- 조회 및 저장 버튼 -->
|
<!-- 조회 및 저장 버튼 -->
|
||||||
<div class="button-container">
|
<div class="button-container">
|
||||||
<div class="button-box">
|
<div class="button-box">
|
||||||
|
<button class="point-btn" id="copy_btn">편성</button>
|
||||||
<button class="point-btn" id="">SAP 조회</button>
|
<button class="point-btn" id="">SAP 조회</button>
|
||||||
<button class="point-btn" id="filter_btn">조회</button>
|
<button class="point-btn" id="filter_btn">조회</button>
|
||||||
<button class="point-btn" id="put_btn">저장</button>
|
<button class="point-btn" id="put_btn">저장</button>
|
||||||
|
|
|
||||||
|
|
@ -154,7 +154,6 @@ class Tb_order_class {
|
||||||
*/
|
*/
|
||||||
addRow() {
|
addRow() {
|
||||||
this.tbList.addRow({ _STATUS_: "I" });
|
this.tbList.addRow({ _STATUS_: "I" });
|
||||||
this.saveButtonActive(false);
|
|
||||||
// this.orderModal();
|
// this.orderModal();
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
|
|
@ -163,15 +162,7 @@ class Tb_order_class {
|
||||||
* @function 선택된 모든 행 삭제
|
* @function 선택된 모든 행 삭제
|
||||||
*/
|
*/
|
||||||
|
|
||||||
saveButtonActive(boolean) {
|
|
||||||
if (boolean) {
|
|
||||||
document.getElementById("put_btn").classList.add("disabled-btn");
|
|
||||||
document.getElementById("put_btn").disabled = true;
|
|
||||||
} else {
|
|
||||||
document.getElementById("put_btn").classList.remove("disabled-btn");
|
|
||||||
document.getElementById("put_btn").disabled = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
submitDateTime() {
|
submitDateTime() {
|
||||||
let dateTimeValue = document.getElementById("MAKE_TM").value;
|
let dateTimeValue = document.getElementById("MAKE_TM").value;
|
||||||
|
|
@ -179,8 +170,16 @@ class Tb_order_class {
|
||||||
console.log("서버로 보낼 날짜 및 시간: " + formattedDateTime);
|
console.log("서버로 보낼 날짜 및 시간: " + formattedDateTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
removeRow() {
|
removeRow() {
|
||||||
const selectedRows = this.tbList.getSelectedRows(); // 선택된 모든 행 가져오기
|
const selectedRows = this.tbList.getRows().filter(row=>{
|
||||||
|
return row.getData().check ==="Y"
|
||||||
|
});
|
||||||
|
|
||||||
|
if(selectedRows.length > 0 ){
|
||||||
|
|
||||||
|
kuls_confirm("삭제","하시겠습니까?", ()=>{
|
||||||
// 선택된 각 행 삭제
|
// 선택된 각 행 삭제
|
||||||
selectedRows.forEach((row) => {
|
selectedRows.forEach((row) => {
|
||||||
// STAUS D로 바꾸기
|
// STAUS D로 바꾸기
|
||||||
|
|
@ -188,32 +187,38 @@ class Tb_order_class {
|
||||||
|
|
||||||
const rowElement = row.getElement();
|
const rowElement = row.getElement();
|
||||||
rowElement.classList.add("remove-row");
|
rowElement.classList.add("remove-row");
|
||||||
|
|
||||||
});
|
});
|
||||||
this.saveButtonActive(false);
|
})
|
||||||
|
}else{
|
||||||
|
kuls_alert("삭제할 행을 선택해주세요.")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// removeRow() {
|
/*
|
||||||
// const selectedRows = this.tbList.getRows().filter(row=>{
|
* @Overview 삭제 취소 함수
|
||||||
// return row.getData().check ==="Y"
|
* @Parameter 삭제 행
|
||||||
// });
|
* @function 클릭시 삭제 취소 & STATUS를 공란으로 변경
|
||||||
|
*/
|
||||||
|
clearRemove(tgt){
|
||||||
|
if(tgt._row.data._STATUS_ == "D"){
|
||||||
|
// console.log();
|
||||||
|
tgt._row.data._STATUS_ = "";
|
||||||
|
tgt._row.getElement().classList.remove("remove-row")
|
||||||
|
// const selectedRows = this.tbList.getSelectedRows(); // 선택된 모든 행 가져오기
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// if(selectedRows.length > 0 ){
|
|
||||||
|
|
||||||
// kuls_confirm("삭제","하시겠습니까?", ()=>{
|
/*
|
||||||
// // 선택된 각 행 삭제
|
* @Overview 테이블 셀 수정 함수
|
||||||
// selectedRows.forEach((row) => {
|
* @Parameter 셀
|
||||||
// // STAUS D로 바꾸기
|
* @function 셀 편집이 이후 저장될수 있도록 _STATUS_:U로 데이터 업데이트
|
||||||
// row.getData()._STATUS_ = row.getData()._STATUS_=="I"?null:"D";
|
*/
|
||||||
|
cellEdited(cell) {
|
||||||
|
cell.getData()._STATUS_ = cell.getData()._STATUS_ || "U";
|
||||||
|
|
||||||
// const rowElement = row.getElement();
|
}
|
||||||
// rowElement.classList.add("remove-row");
|
|
||||||
|
|
||||||
// });
|
|
||||||
// })
|
|
||||||
// }else{
|
|
||||||
// kuls_alert("삭제할 행을 선택해주세요.")
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @Overview 테이블 행 선택 함수
|
* @Overview 테이블 행 선택 함수
|
||||||
|
|
@ -223,14 +228,10 @@ class Tb_order_class {
|
||||||
rowClick(e, tgt) {
|
rowClick(e, tgt) {
|
||||||
if (tgt.isSelected()) {
|
if (tgt.isSelected()) {
|
||||||
tgt.deselect();
|
tgt.deselect();
|
||||||
this.updateBtn.classList.add("disabled-btn");
|
this.clearRemove(tgt)
|
||||||
this.updateBtn.disabled = true;
|
|
||||||
//this.clearRemove(tgt)
|
|
||||||
} else {
|
} else {
|
||||||
this.tbList.deselectRow();
|
this.tbList.deselectRow();
|
||||||
tgt.select();
|
tgt.select();
|
||||||
this.updateBtn.disabled = false;
|
|
||||||
this.updateBtn.classList.remove("disabled-btn");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -264,15 +265,16 @@ class Tb_order_class {
|
||||||
ORD_QTY: 'ORD_QTY',
|
ORD_QTY: 'ORD_QTY',
|
||||||
OP_WRK_QTY: 'OP_WRK_QTY',
|
OP_WRK_QTY: 'OP_WRK_QTY',
|
||||||
MAKE_TM: 'MAKE_TM',
|
MAKE_TM: 'MAKE_TM',
|
||||||
FACLT_CD: 'FACLT_CD'
|
|
||||||
},tgt.getRow())
|
|
||||||
break;
|
|
||||||
case "FACLT_CD":
|
|
||||||
popRegFacility({
|
|
||||||
FACLT_CD: 'FACLT_CD',
|
FACLT_CD: 'FACLT_CD',
|
||||||
FACLT_NM: 'FACLT_NM'
|
FACLT_NM: 'FACLT_NM'
|
||||||
},tgt.getRow())
|
},tgt.getRow())
|
||||||
break;
|
break;
|
||||||
|
// case "FACLT_CD":
|
||||||
|
// popRegFacility({
|
||||||
|
// FACLT_CD: 'FACLT_CD',
|
||||||
|
// FACLT_NM:'FACLT_NM'
|
||||||
|
// },tgt.getRow())
|
||||||
|
// break;
|
||||||
case "EMP_NM":
|
case "EMP_NM":
|
||||||
popWorker({
|
popWorker({
|
||||||
EMP_NO:'EMP_NO',
|
EMP_NO:'EMP_NO',
|
||||||
|
|
@ -291,11 +293,6 @@ class Tb_order_class {
|
||||||
// break;
|
// break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 셀 수정
|
|
||||||
cellEdited(cell) {
|
|
||||||
cell.getData()._STATUS_ = cell.getData()._STATUS_ || "U";
|
|
||||||
}
|
|
||||||
putData() {
|
putData() {
|
||||||
const _this = this;
|
const _this = this;
|
||||||
// 기본키 중복 확인 및 방지
|
// 기본키 중복 확인 및 방지
|
||||||
|
|
@ -327,9 +324,8 @@ class Tb_order_class {
|
||||||
kuls_alert(error.message);
|
kuls_alert(error.message);
|
||||||
},
|
},
|
||||||
complete: function () {
|
complete: function () {
|
||||||
this.saveButtonActive(true);
|
window.clearTimeout(talert);
|
||||||
this.updateBtn.disabled = false;
|
this.tbList.clearAlert();
|
||||||
this.updateBtn.classList.remove("disabled-btn");
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -350,16 +346,21 @@ class Tb_order_class {
|
||||||
* @Parameter 없음
|
* @Parameter 없음
|
||||||
*/
|
*/
|
||||||
init() {
|
init() {
|
||||||
|
|
||||||
|
|
||||||
// field 정의
|
// field 정의
|
||||||
const fields = [
|
fields = [
|
||||||
// 생산오더, 품목, 도면번호, 거래처, 납기일, 지시일, 지시구분, 지시 수량, 단위, 상태, 작업순서, 비고
|
// 생산오더, 품목, 도면번호, 거래처, 납기일, 지시일, 지시구분, 지시 수량, 단위, 상태, 작업순서, 비고
|
||||||
{ field:"check", title: "선택", width: 50, headerSort: false,formatter: tb_common_funtions.formatterCheckboxIcon,formatterParams: { checkval: "Y" },},
|
{ field:"check", title: "선택", width: 50, headerSort: false,formatter: tb_common_funtions.formatterCheckboxIcon,formatterParams: { checkval: "Y" },},
|
||||||
{ formatter: "rownum", title: "NO", width: 50 },
|
{ formatter: "rownum", title: "NO", width: 50 },
|
||||||
{ field: "WO_NO", title: "생산오더", width: 100,cssClass: "editable-cell" },
|
{ field: "WO_NO", title: "생산오더", width: 100,editor:tb_custom_editor.upper,
|
||||||
|
editable: (cell) => {
|
||||||
|
const val = cell.getData();
|
||||||
|
return val._STATUS_ === "I";
|
||||||
|
}, },
|
||||||
{ field: "WO_SEQ", width: 50, visible: false },
|
{ field: "WO_SEQ", width: 50, visible: false },
|
||||||
{ field: "RSLT_NO", width: 50, visible: false },
|
{ field: "RSLT_NO", width: 50, visible: false },
|
||||||
{ field: "ITEM_CD", width: 100, title: "품목"},
|
{ field: "ITEM_CD", width: 100, title: "품목"},
|
||||||
{ field: "DEF_NO", width: 50, visible: false },
|
|
||||||
{ field: "EMP_NO", width: 50, visible: false},
|
{ field: "EMP_NO", width: 50, visible: false},
|
||||||
{ field: "ITEM_NM",title: "품목", width: 200,visible: false },
|
{ field: "ITEM_NM",title: "품목", width: 200,visible: false },
|
||||||
{ field: "DRAW_NO", title: "도면번호", width: 200, hozAlign: "start" },
|
{ field: "DRAW_NO", title: "도면번호", width: 200, hozAlign: "start" },
|
||||||
|
|
@ -369,7 +370,7 @@ class Tb_order_class {
|
||||||
title: "설비",
|
title: "설비",
|
||||||
cssClass: "width-200",
|
cssClass: "width-200",
|
||||||
columns: [
|
columns: [
|
||||||
{ field: "FACLT_CD", width: 100 ,cssClass: "editable-cell" },
|
{ field: "FACLT_CD", width: 100 , },
|
||||||
{ field: "FACLT_NM", width: 100 },
|
{ field: "FACLT_NM", width: 100 },
|
||||||
]},
|
]},
|
||||||
{ field: "ORD_QTY",
|
{ field: "ORD_QTY",
|
||||||
|
|
@ -396,15 +397,12 @@ class Tb_order_class {
|
||||||
title: "양품 수량",
|
title: "양품 수량",
|
||||||
width: 80,
|
width: 80,
|
||||||
formatter: "money",
|
formatter: "money",
|
||||||
|
hozAlign:"left",
|
||||||
formatterParams: { decimal: ",", precision: 0 },
|
formatterParams: { decimal: ",", precision: 0 },
|
||||||
editor: "input"
|
editor: "input"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "RSLT_GRP",
|
field: "RSLT_GRP",
|
||||||
visible: false,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
field: "CODE_VAL",
|
|
||||||
title: "실적 그룹",
|
title: "실적 그룹",
|
||||||
width: 80,
|
width: 80,
|
||||||
cssClass: "user-list editable-cell",
|
cssClass: "user-list editable-cell",
|
||||||
|
|
@ -416,33 +414,7 @@ class Tb_order_class {
|
||||||
|
|
||||||
{ field: "EMP_NM", title: "작업자", width: 100 ,cssClass: "editable-cell"},
|
{ field: "EMP_NM", title: "작업자", width: 100 ,cssClass: "editable-cell"},
|
||||||
{ field: "MAKE_TM", title: "실적등록시간", width: 120 },
|
{ field: "MAKE_TM", title: "실적등록시간", width: 120 },
|
||||||
{ field: "", title: "실적일자",width: 120,},
|
{ field: "WRK_DT", title: "실적일자",width: 120,},
|
||||||
|
|
||||||
// {
|
|
||||||
// field: "DEF_QTY",
|
|
||||||
// width: 100,
|
|
||||||
// formatter: "money",
|
|
||||||
// formatterParams: { decimal: ",", precision: 0 },
|
|
||||||
// visible:false
|
|
||||||
// },
|
|
||||||
// { field: "WRK_DT", title: "작업 일자", width: 80 }, //formatter mm-dd로
|
|
||||||
// {
|
|
||||||
// field: "ST_TM",
|
|
||||||
// title: "시작 시간",
|
|
||||||
// width: 120,
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// field: "ED_TM",
|
|
||||||
// title: "종료 시간",
|
|
||||||
// width: 120,
|
|
||||||
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// field: "",
|
|
||||||
// title: "가동 시간</br>(분)",
|
|
||||||
// width: 100,
|
|
||||||
// formatter: this.runningTime,
|
|
||||||
// },
|
|
||||||
];
|
];
|
||||||
const commonFieldData = {
|
const commonFieldData = {
|
||||||
headerSort: false,
|
headerSort: false,
|
||||||
|
|
@ -526,15 +498,6 @@ class Tb_order_class {
|
||||||
this.putData && this.putData();
|
this.putData && this.putData();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
//수정
|
|
||||||
["click", "keypress"].forEach((evt) => {
|
|
||||||
this.updateBtn.addEventListener(evt, () => {
|
|
||||||
this.orderModal(this.tbList.getSelectedRows()[0]._row);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
// FORM 제출 클릭시
|
|
||||||
// document.querySelector("form[name=frmPrslt]").addEventListener("submit", orderPop.putData);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -553,15 +516,15 @@ Tb_order_report.init();
|
||||||
* @Overview 모달 행 추가 함수
|
* @Overview 모달 행 추가 함수
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function addFormRow() {
|
// function addFormRow() {
|
||||||
document.querySelector(".add-row-container").innerHTML += `
|
// document.querySelector(".add-row-container").innerHTML += `
|
||||||
<div class="input-container flexrow gap06">
|
// <div class="input-container flexrow gap06">
|
||||||
|
|
||||||
<div class="input-box flex-1">
|
// <div class="input-box flex-1">
|
||||||
<p class="input-title"></p>
|
// <p class="input-title"></p>
|
||||||
<input type="text" id="addRow" name="" class="form-control form-control-sm input-text"></input>
|
// <input type="text" id="addRow" name="" class="form-control form-control-sm input-text"></input>
|
||||||
<input type="text" id="addRow" name="" class="form-control form-control-sm input-text"></input>
|
// <input type="text" id="addRow" name="" class="form-control form-control-sm input-text"></input>
|
||||||
</div>
|
// </div>
|
||||||
|
|
||||||
</div>`;
|
// </div>`;
|
||||||
}
|
// }
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,7 @@ include_once _SVC_INC_PATH_ . "/header.php";
|
||||||
<div class="button-container">
|
<div class="button-container">
|
||||||
<div class="button-box">
|
<div class="button-box">
|
||||||
<button class="point-btn" id="filter_btn">조회</button>
|
<button class="point-btn" id="filter_btn">조회</button>
|
||||||
<button class="point-btn disabled-btn" id="put_btn">저장</button>
|
<button class="point-btn" id="put_btn">저장</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 조회 및 저장 버튼 종료 // -->
|
<!-- 조회 및 저장 버튼 종료 // -->
|
||||||
|
|
@ -126,10 +126,6 @@ include_once _SVC_INC_PATH_ . "/header.php";
|
||||||
<?php include _SVC_INC_PATH_ . '/img/delete.php' ?>
|
<?php include _SVC_INC_PATH_ . '/img/delete.php' ?>
|
||||||
삭제
|
삭제
|
||||||
</button>
|
</button>
|
||||||
<!-- <button class="update-btn reverse-btn disabled-btn" disabled>
|
|
||||||
|
|
||||||
수정
|
|
||||||
</button> -->
|
|
||||||
</div>
|
</div>
|
||||||
<!-- 버튼 종료 // -->
|
<!-- 버튼 종료 // -->
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -469,7 +469,8 @@ class Tb_main_class {
|
||||||
columnDefaults: commonFieldData,
|
columnDefaults: commonFieldData,
|
||||||
groupStartOpen: true,
|
groupStartOpen: true,
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
init2(){
|
||||||
// 데이터 불러오기
|
// 데이터 불러오기
|
||||||
this.tbList.on("tableBuilt", () => {
|
this.tbList.on("tableBuilt", () => {
|
||||||
this.getMainList(
|
this.getMainList(
|
||||||
|
|
@ -512,7 +513,8 @@ class Tb_main_class {
|
||||||
const filterBtn = document.querySelector("#filter_btn");
|
const filterBtn = document.querySelector("#filter_btn");
|
||||||
filterBtn.addEventListener(evt, () => {
|
filterBtn.addEventListener(evt, () => {
|
||||||
// setFilter 또는 setData
|
// setFilter 또는 setData
|
||||||
this.getDate();
|
this.init();
|
||||||
|
|
||||||
this.setFilter();
|
this.setFilter();
|
||||||
// this.getMainList("getPlanList","team_pop","product_pop","sub_product_pop");
|
// this.getMainList("getPlanList","team_pop","product_pop","sub_product_pop");
|
||||||
});
|
});
|
||||||
|
|
@ -528,3 +530,4 @@ class Tb_main_class {
|
||||||
}
|
}
|
||||||
const Tb_production_plan = new Tb_main_class("#main_table");
|
const Tb_production_plan = new Tb_main_class("#main_table");
|
||||||
Tb_production_plan.init();
|
Tb_production_plan.init();
|
||||||
|
Tb_production_plan.init2();
|
||||||
|
|
@ -60,11 +60,11 @@ class SimpleTable {
|
||||||
kuls_alert(data.mesg);
|
kuls_alert(data.mesg);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
error: function (request, status, error) {
|
error: (request, status, error)=>{
|
||||||
kuls_alert(error.message);
|
kuls_alert(error.message);
|
||||||
},
|
},
|
||||||
complete: function(){
|
complete: function(){
|
||||||
pop
|
console.log(this)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
@ -81,33 +81,7 @@ class SimpleTable {
|
||||||
|
|
||||||
this.tbList = new Tabulator(this.table, {
|
this.tbList = new Tabulator(this.table, {
|
||||||
layout:'fitColumns',
|
layout:'fitColumns',
|
||||||
data:[
|
data:[],
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
{},
|
|
||||||
],
|
|
||||||
columns: this.field,
|
columns: this.field,
|
||||||
columnDefaults: commonFieldData,
|
columnDefaults: commonFieldData,
|
||||||
selectableRows:1,
|
selectableRows:1,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue