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-container flexcol gap06">
<div class="input-box flexrow flexend flex-1"> <div class="input-box flexrow flexend flex-1">
<label for="" style="width:80px;">가동시작시간</label> <label for="" style="width:80px;">업종료시간</label>
<input type="text" id="" name="" class="form-control form-control-sm" /> <input v-model='dateTime' type="text" id="" name="" class="form-control form-control-sm" />
</div> </div>
<div class="input-box flexrow flexend flex-1"> <div class="input-box flexrow flexend flex-1">
<label for="" style="width:80px;">비가동사유</label> <label for="" style="width:80px;">비가동사유</label>
<div class="round-tab-box"> <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">설비고장</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> </div>
</div> </div>

View File

@ -21,7 +21,7 @@
<div class="table-box flexcol flexbetween height-full" > <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 class="hy-table groupby" id="isWorker_table"></div>
</div> </div>
<!-- <div class="table-title"> <!-- <div class="table-title">

View File

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

View File

@ -19,8 +19,8 @@ class SimpleTable {
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");
// // btn disabled // addCode
// this.disabled = [false, false, false, true]; this.addCode = ''
} }
getMainList(){ getMainList(){
@ -33,6 +33,9 @@ class SimpleTable {
success:( data ) => { success:( data ) => {
if( data.code ){ if( data.code ){
this.tbList.setData(data.data); 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{ }else{
console.log(data) console.log(data)
} }
@ -47,12 +50,19 @@ class SimpleTable {
// this.tbList.addRow({...data}) // this.tbList.addRow({...data})
// } // }
putData(addData, updateData){ putData(addData, updateData){
// let retunVal = [];
const postData = { const postData = {
mode : this.putMode, mode : this.putMode
reqdata : JSON.stringify([{...this.formData, ...addData}]) }
};
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({ ajax_json({
url: this.ajaxUrl, url: this.ajaxUrl,
@ -69,72 +79,13 @@ class SimpleTable {
kuls_alert(error.message); kuls_alert(error.message);
}, },
complete: () => { 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){ init(addData, updateData, btn){
const commonFieldData = { const commonFieldData = {
@ -160,23 +111,23 @@ class SimpleTable {
this.tbList.addRow({...addData}); this.tbList.addRow({...addData});
}; };
if(updateData){ 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.addBtn?.addEventListener('click', ()=>{
this.putData(addData,false); this.putData(addData,updateData);
if(btn=='run'){ if(btn=='isRun'){
document.querySelector("#isNoRun").disabled = false; document.querySelector("#isNoRun").disabled = false;
document.querySelector("#isRun").disabled = true; document.querySelector("#isRun").disabled = true;
}else if(btn=='isNoRun'){
document.querySelector("#isNoRun").disabled = true;
document.querySelector("#isRun").disabled = false;
} }
}) })
// 행선택
// 행선택 반영 및 저장
// 행추가 및 저장
} }
} }
@ -249,6 +200,10 @@ class FieldPop {
putMode : '', putMode : '',
STOP_CD : varsSTOP_CD,
STOP_CD_val : '',
tableField : { tableField : {
isDefHst : [ isDefHst : [
{ field: "DEF_NO", formatter:"rownum", title: "순번", width: 50}, { field: "DEF_NO", formatter:"rownum", title: "순번", width: 50},
@ -299,12 +254,12 @@ class FieldPop {
{ field: "OPER_ED_TM", title: "종료시간", minWidth: 120, width:'20%',} { field: "OPER_ED_TM", title: "종료시간", minWidth: 120, width:'20%',}
], ],
isNoRun : [ isNoRun : [
{ field: "", formatter:"rownum", title: "순번", width: 50}, { field:"FACLT_OPER_NO", formatter:"rownum", title: "순번", width: 50},
{ field: "", title: "생산 오더", minWidth: 100, width:'18%',}, { field: "WO_NO", title: "생산 오더", minWidth: 100, width:'18%',},
{ field: "", title: "구분", minWidth: 80, width:'15%',}, { field: "RUNSTOP_GB", title: "구분", minWidth: 80, width:'15%',},
{ field: "", title: "비가동 사유", minWidth: 100, width:'18%',}, { field: "STOP_CD", title: "비가동 사유", minWidth: 100, width:'18%',},
{ field: "", title: "시작시간", minWidth: 120, width:'20%',}, { field: "OPER_ST_TM", title: "시작시간", minWidth: 120, width:'20%',},
{ field: "", title: "종료시간", minWidth: 120, width:'20%',} { field: "OPER_ED_TM", title: "종료시간", minWidth: 120, width:'20%',}
], ],
isProd : [ isProd : [
{ field: "", formatter:"rownum", title: "순번", width: 50}, { field: "", formatter:"rownum", title: "순번", width: 50},
@ -377,20 +332,9 @@ class FieldPop {
callTable(com, addData=false, updateData=false, btn=false ){ callTable(com, addData=false, updateData=false, btn=false ){
this.$nextTick(()=>{ this.$nextTick(()=>{
const table = new SimpleTable(this.tableField[com], this.getMode, this.putMode, this.formData); const table = new SimpleTable(this.tableField[com], this.getMode, this.putMode, this.formData);
table.init(addData, updateData, btn); 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); this.callTable(com);
break; break;
case 'isRun': case 'isRun':
const now = new Date(); const stTime = new Date();
this.dateTime = now.getHours() + ":" this.dateTime = stTime.getHours() + ":"
+ ( now.getMinutes()<10 ? '0' + now.getMinutes() : now.getMinutes() ) + ":" + ( stTime.getMinutes()<10 ? '0' + stTime.getMinutes() : stTime.getMinutes() ) + ":"
+ ( now.getSeconds()<10 ? '0' + now.getSeconds() : now.getSeconds() ); + ( stTime.getSeconds()<10 ? '0' + stTime.getSeconds() : stTime.getSeconds() );
this.getMode = 'getRunInfo'; this.getMode = 'getRunInfo';
this.putMode = 'putRunInfo'; this.putMode = 'putRunInfo';
@ -434,6 +378,25 @@ class FieldPop {
},false,'isRun'); },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; break;
case 'isDefHst': case 'isDefHst':
this.getMode = 'getDefHst'; this.getMode = 'getDefHst';