forked from HANYANG/HANYANG_MES
feat: 가동 비가동 데이터 저장
This commit is contained in:
parent
d30f753cd1
commit
1e97de071f
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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">
|
||||||
|
|
|
||||||
|
|
@ -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'] ?: "",
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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';
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue