1
0
Fork 0

feat: 가동 비가동 데이터 저장

This commit is contained in:
sychoi 2024-05-02 11:57:15 +09:00
parent d30f753cd1
commit 1e97de071f
4 changed files with 73 additions and 110 deletions

View File

@ -10,16 +10,21 @@
<div class="input-container flexcol gap06">
<div class="input-box flexrow flexend flex-1">
<label for="" style="width:80px;">가동시작시간</label>
<input type="text" id="" name="" class="form-control form-control-sm" />
<label for="" style="width:80px;">업종료시간</label>
<input v-model='dateTime' type="text" id="" name="" class="form-control form-control-sm" />
</div>
<div class="input-box flexrow flexend flex-1">
<label for="" style="width:80px;">비가동사유</label>
<div class="round-tab-box">
<button type="button" class="tab-btn left-round">작업종료</button>
<button v-for="(vals, idx) in Object.keys(STOP_CD)" @click="STOP_CD_val = vals" :class="{'left-round':idx===0, 'right-round':idx===Object.keys(STOP_CD).length-1}" type="button" class="tab-btn">{{ STOP_CD[vals] }}</button>
<!-- STOP_CD 가져오기
FOR문 으로 BTN만들기
1번째와 마지막 BTN에 다른 클래스 추가하기 -->
<!-- <button type="button" @click="STOP_CD = ''" class="tab-btn left-round">작업종료</button>
<button type="button" class="tab-btn">품목교체</button>
<button type="button" class="tab-btn">설비고장</button>
<button type="button" class="tab-btn right-round">자체결품</button>
<button type="button" class="tab-btn right-round">자체결품</button> -->
</div>
</div>
</div>

View File

@ -21,7 +21,7 @@
<div class="table-box flexcol flexbetween height-full" >
<div style="height:calc(100% - 80px);">
<div class="height-full">
<div class="hy-table groupby" id="isWorker_table"></div>
</div>
<!-- <div class="table-title">

View File

@ -77,16 +77,12 @@ if( !_notAuth("R") ){/************ 권한체크*/
$sql = 'USP_P_REG_PROD_RUN_U10';
$params = array(
// "FACLT_CD" => $data['DEPT_CD']?:"",
// "WO_NO" => $data['DEPT_NM']?:"",
// "WO_SEQ" => $data['BIZ_AREA_CD'] ?: "",
// "WORK_DT" => $data['PAR_DEPT_CD']?:"",
// "RUNSTOP_GB" => $data['EMP_NO']?:"",
// "STOP_CD" => $data['USE_FLG'] ?: "",
// "OPER_ST_TM" => $data['USE_FLG'] ?: "",
// "EMP_NO" => $data['USE_FLG'] ?: "",
"FACLT_OPER_NO" => $data['FACLT_OPER_NO']?:"",
"RUNSTOP_GB" => $data['RUNSTOP_GB']?:"",
"STOP_CD" => $data['STOP_CD'] ?: "",
"OPER_ED_TM" => $data['OPER_ED_TM'] ?: "",
// "MAKE_USER_ID" => $GLOBALS['_Umem']['member_id'],
"MAKE_USER_ID" => $GLOBALS['_Umem']['member_id'],
);
}else{
@ -98,7 +94,6 @@ if( !_notAuth("R") ){/************ 권한체크*/
"WO_SEQ" => $data['WO_SEQ'] ?: "",
"WORK_DT" => $data['WORK_DT']?:"",
"RUNSTOP_GB" => $data['RUNSTOP_GB']?:"",
"STOP_CD" => $data['STOP_CD'] ?: "",
"OPER_ST_TM" => $data['OPER_ST_TM'] ?: "",
"EMP_NO" => $data['EMP_NO'] ?: "",

View File

@ -19,8 +19,8 @@ class SimpleTable {
this.table = this.container?.querySelector(".hy-table");
this.addBtn = this.container?.querySelector(".add-btn");
// // btn disabled
// this.disabled = [false, false, false, true];
// addCode
this.addCode = ''
}
getMainList(){
@ -33,6 +33,9 @@ class SimpleTable {
success:( data ) => {
if( data.code ){
this.tbList.setData(data.data);
if(data.data[data.data.length-1]?.FACLT_OPER_NO){
this.addCode = data.data[data.data.length-1].FACLT_OPER_NO;
}
}else{
console.log(data)
}
@ -47,12 +50,19 @@ class SimpleTable {
// this.tbList.addRow({...data})
// }
putData(addData, updateData){
// let retunVal = [];
const postData = {
mode : this.putMode,
reqdata : JSON.stringify([{...this.formData, ...addData}])
};
mode : this.putMode
}
if(addData){
postData['reqdata'] = JSON.stringify([{ ...this.formData, ...addData}]);
}else if(updateData){
postData['reqdata'] = JSON.stringify([{ FACLT_OPER_NO : this.addCode, ...updateData}]);
}
console.log(this.addCode)
ajax_json({
url: this.ajaxUrl,
@ -69,72 +79,13 @@ class SimpleTable {
kuls_alert(error.message);
},
complete: () => {
// this.disabled = this.turnDisabled();
// returnVal = this.disabled;
}
})
}
// turnDisabled(){
// if(this.disabled[2]){
// this.disabled[2] = false;
// this.disabled[3] = true;
// }else{
// this.disabled[2] = true;
// this.disabled[3] = false;
// }
// return this.disabled;
// }
// init(addData, updateData) {
// return new Promise((resolve, reject) => {
// const commonFieldData = {
// headerSort: false,
// vertAlign: "middle",
// hozAlign: "center",
// resizable: "header", // 헤더에서만 리사이즈 가능
// headerHozAlign: "center", // 헤더 정렬
// headerSortTristate: true, // 데이터 정렬 => 정/역/초기화
// };
// this.tbList = new Tabulator(this.table, {
// layout: 'fitColumns',
// data: [],
// columns: this.field,
// columnDefaults: commonFieldData,
// selectableRows: 1,
// });
// this.tbList.on("tableBuilt", () => {
// this.getMainList().then(() => {
// const tasks = [];
// if (addData) {
// tasks.push(this.tbList.addRow({...addData}));
// }
// if (updateData) {
// tasks.push(this.tbList.update(updateData));
// }
// Promise.all(tasks)
// .then(() => resolve())
// .catch((error) => reject(error));
// }).catch((error) => reject(error));
// });
// this.addBtn?.addEventListener('click', () => {
// this.putData(addData, false).catch((error) => console.error('Error adding data:', error));
// });
// // 행선택
// // 행선택 반영 및 저장
// // 행추가 및 저장
// });
// }
init(addData, updateData, btn){
const commonFieldData = {
@ -160,23 +111,23 @@ class SimpleTable {
this.tbList.addRow({...addData});
};
if(updateData){
this.tbList.update(updateData);
this.tbList.getRowFromPosition(this.tbList.getData().length).update({ FACLT_OPER_NO: this.addCode, ...updateData });
console.log(updateData)
};
})
})
this.addBtn?.addEventListener('click', ()=>{
this.putData(addData,false);
if(btn=='run'){
this.putData(addData,updateData);
if(btn=='isRun'){
document.querySelector("#isNoRun").disabled = false;
document.querySelector("#isRun").disabled = true;
}else if(btn=='isNoRun'){
document.querySelector("#isNoRun").disabled = true;
document.querySelector("#isRun").disabled = false;
}
})
// 행선택
// 행선택 반영 및 저장
// 행추가 및 저장
}
}
@ -248,6 +199,10 @@ class FieldPop {
getMode : '',
putMode : '',
STOP_CD : varsSTOP_CD,
STOP_CD_val : '',
tableField : {
isDefHst : [
@ -299,12 +254,12 @@ class FieldPop {
{ field: "OPER_ED_TM", title: "종료시간", minWidth: 120, width:'20%',}
],
isNoRun : [
{ field: "", formatter:"rownum", title: "순번", width: 50},
{ field: "", title: "생산 오더", minWidth: 100, width:'18%',},
{ field: "", title: "구분", minWidth: 80, width:'15%',},
{ field: "", title: "비가동 사유", minWidth: 100, width:'18%',},
{ field: "", title: "시작시간", minWidth: 120, width:'20%',},
{ field: "", title: "종료시간", minWidth: 120, width:'20%',}
{ field:"FACLT_OPER_NO", formatter:"rownum", title: "순번", width: 50},
{ field: "WO_NO", title: "생산 오더", minWidth: 100, width:'18%',},
{ field: "RUNSTOP_GB", title: "구분", minWidth: 80, width:'15%',},
{ field: "STOP_CD", title: "비가동 사유", minWidth: 100, width:'18%',},
{ field: "OPER_ST_TM", title: "시작시간", minWidth: 120, width:'20%',},
{ field: "OPER_ED_TM", title: "종료시간", minWidth: 120, width:'20%',}
],
isProd : [
{ field: "", formatter:"rownum", title: "순번", width: 50},
@ -377,21 +332,10 @@ class FieldPop {
callTable(com, addData=false, updateData=false, btn=false ){
this.$nextTick(()=>{
const table = new SimpleTable(this.tableField[com], this.getMode, this.putMode, this.formData);
table.init(addData, updateData, btn);
// this.isDisabled = table.turnDisabled();
// console.log(this.isDisabled);
// table.init(addData, updateData).then(()=>{
// this.isDisabled = table.turnDisabled();
// console.log(this.isDisabled);
// })
})
},
@ -418,10 +362,10 @@ class FieldPop {
this.callTable(com);
break;
case 'isRun':
const now = new Date();
this.dateTime = now.getHours() + ":"
+ ( now.getMinutes()<10 ? '0' + now.getMinutes() : now.getMinutes() ) + ":"
+ ( now.getSeconds()<10 ? '0' + now.getSeconds() : now.getSeconds() );
const stTime = new Date();
this.dateTime = stTime.getHours() + ":"
+ ( stTime.getMinutes()<10 ? '0' + stTime.getMinutes() : stTime.getMinutes() ) + ":"
+ ( stTime.getSeconds()<10 ? '0' + stTime.getSeconds() : stTime.getSeconds() );
this.getMode = 'getRunInfo';
this.putMode = 'putRunInfo';
@ -434,6 +378,25 @@ class FieldPop {
},false,'isRun');
break;
case 'isNoRun':
const edTime = new Date();
this.dateTime = edTime.getHours() + ":"
+ ( edTime.getMinutes()<10 ? '0' + edTime.getMinutes() : edTime.getMinutes() ) + ":"
+ ( edTime.getSeconds()<10 ? '0' + edTime.getSeconds() : edTime.getSeconds() );
this.getMode = 'getRunInfo';
this.putMode = 'putRunInfo';
this.callTable(com, false, {
STOP_CD: this.STOP_CD_val,
RUNSTOP_GB: 'S',
OPER_ED_TM : this.dateTime,
_STATUS_ : 'U'
}, 'isNoRun');
console.log(this.STOP_CD)
break;
case 'isDefHst':
this.getMode = 'getDefHst';