forked from HANYANG/HANYANG_MES
fix: 데이터없을 시에 셀 없어짐 개선
This commit is contained in:
parent
edcaf330a0
commit
260c00791a
|
|
@ -156,12 +156,12 @@ include_once _SVC_INC_PATH_ . "/header.php";
|
|||
<tbody>
|
||||
<template v-for="(code, idx) in codeList">
|
||||
<tr>
|
||||
<td rowspan="5">{{code?.WO_NO}}<br>{{code?.ORD_DT.date}}</td>
|
||||
<td rowspan="5">{{code?.ITEM_CD}}<br>{{code?.DRAW_NO}}<br>{{code?.BP_CD}}</td>
|
||||
<td rowspan="5">{{code?.DLVY_REQ_DT.date}}</td>
|
||||
<td rowspan="5">{{code?.WO_SEQ}}</td>
|
||||
<td rowspan="5">{{code.WO_NO}}<br>{{code.ORD_DT.date}}</td>
|
||||
<td rowspan="5">{{code.ITEM_CD}}<br>{{code.DRAW_NO}}<br>{{code.BP_CD}}</td>
|
||||
<td rowspan="5">{{code.DLVY_REQ_DT.date}}</td>
|
||||
<td rowspan="5">{{code.WO_SEQ}}</td>
|
||||
<td rowspan="5">{{code.완료}}</td>
|
||||
<td colspan="2" v-for="index in 10" :key="`process-${index}`">{{ code.OP_CD ? code.OP_CD.OP_CD ? code.OP_CD.OP_CD: '' : '' }}</td>
|
||||
<td colspan="2" v-for="index in 10" :key="`process-${index}`">{{ code.OP_CD?.OP_CD }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td v-for="n in 20" :key="`plan-${n}`">
|
||||
|
|
@ -174,7 +174,7 @@ include_once _SVC_INC_PATH_ . "/header.php";
|
|||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" v-for="index in 10" :key="`pre-${index}`">{{ code.OP_CD ? code.OP_CD.예상종료시간 ? code.OP_CD.예상종료시간: '' : '' }}</td>
|
||||
<td colspan="2" v-for="index in 10" :key="`pre-${index}`">{{ code.OP_CD?.예상종료시간 }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td v-for="n in 20" :key="`fa-${n}`">
|
||||
|
|
|
|||
|
|
@ -31,30 +31,36 @@ if( !_notAuth("R") ){/************ 권한체크*/
|
|||
$retval['code'] = false;
|
||||
}
|
||||
break;
|
||||
case "getOrderList":
|
||||
$retval['code'] = true;
|
||||
// $sql = "USP_B_OPERATION_S10";
|
||||
// 생산오더별 진행현황
|
||||
case 'getStsList':
|
||||
|
||||
// $params = array(
|
||||
// "OP_NM" => "",
|
||||
// "USE_FLG" => "Y"
|
||||
// );
|
||||
|
||||
// $rst = $baseObj->DB->exec($sql,$params);
|
||||
$squl = "USP_P_WO_OPER_RSLT_S40";
|
||||
|
||||
// $rows = array();
|
||||
// if( $rst ){
|
||||
// $retval['code'] = true;
|
||||
// while( $row = $baseObj->DB->fetch_array($rst) ){
|
||||
// // $row['OP_CD_OLD'] = $row['OP_CD'];
|
||||
$params = array(
|
||||
"date_st" => $_REQUEST["order_date_st"] ?: "2024-04-01",
|
||||
// "date_st" => "2024-04-16" ?: "",
|
||||
"date_ed" => $_REQUEST["order_date_ed"] ?: "2024-05-31",
|
||||
"WO_NO" => $_REQUEST["P_WO_NO"] ?: "",
|
||||
"ITEM_CD" => $_REQUEST["ITEM_CD"] ?: "",
|
||||
"OP_CD" => $_REQUEST["OP_CD"] ?: "",
|
||||
"FACLT_CD " => $_REQUEST["FACLT_CD_P"] ?: "",
|
||||
"EMP_NO" => $_REQUEST["EMP_NO"] ?: ""
|
||||
);
|
||||
$rst = $baseObj->DB->exec($squl, $params);
|
||||
|
||||
$rows = array();
|
||||
if ($rst) {
|
||||
$retval['code'] = true;
|
||||
while ($row = $baseObj->DB->fetch_array($rst)) {
|
||||
$rows[] = $row;
|
||||
};
|
||||
$retval['data'] = $rows;
|
||||
$retval['mesg'] = '정상 동작 되었습니다.';
|
||||
} else {
|
||||
$retval['code'] = false;
|
||||
}
|
||||
|
||||
// $rows[] = $row;
|
||||
// }
|
||||
// $retval['data'] = $rows;
|
||||
// $retval['mesg'] = "정상적으로 작동하였습니다.";
|
||||
// }else{
|
||||
// $retval['code'] = false;
|
||||
// }
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
*/
|
||||
|
||||
|
||||
|
||||
class Tb_oper_class {
|
||||
constructor(container){
|
||||
this.ajaxUrl = "./sts_order_prod.ajax.php";
|
||||
|
|
@ -220,13 +221,13 @@ class Tb_oper_class {
|
|||
const VueOperStatusCode = createApp({
|
||||
data(){
|
||||
return {
|
||||
ajaxUrl: './sts_oper_prod.ajax.php',
|
||||
ajaxUrl: './sts_order_prod.ajax.php',
|
||||
codeList: [],
|
||||
isHover: {}
|
||||
}
|
||||
},
|
||||
mounted(){
|
||||
this.getCodeList();
|
||||
this.getMainList("getStsList", "P_WO_NO");
|
||||
},
|
||||
// computed: {
|
||||
|
||||
|
|
@ -245,14 +246,14 @@ const VueOperStatusCode = createApp({
|
|||
if(operData){
|
||||
finalDataList.push(
|
||||
{
|
||||
공정명: operData.공정 ,
|
||||
계획수량: operData.계획수량,
|
||||
실적수량 : operData.실적수량,
|
||||
투입시간:operData.투입시간,
|
||||
종료시간 : operData.종료시간,
|
||||
OP_CD: operData.OP_CD ,
|
||||
PLAN_QTY: operData.PLAN_QTY,
|
||||
PRD_QTY : operData.PRD_QTY,
|
||||
ST_TM:operData.ST_TM,
|
||||
ED_TM : operData.ED_TM,
|
||||
예상종료시간 : operData.예상종료시간 ,
|
||||
설비: operData.설비,
|
||||
작업자: operData.작업자
|
||||
FACLT_CD: operData.FACLT_CD,
|
||||
EMP_NM: operData.EMP_NM
|
||||
}
|
||||
)
|
||||
}else{
|
||||
|
|
@ -270,25 +271,112 @@ const VueOperStatusCode = createApp({
|
|||
}
|
||||
|
||||
},
|
||||
getCodeList() {
|
||||
// 임의의 데이터 직접 입력 [데이터 이렇게 php로 전처리...]
|
||||
let temp = [
|
||||
{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 1, 공정 : '소재', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
|
||||
,{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 2, 공정 : 'M', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
|
||||
,{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 4, 공정 : 'G', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
|
||||
,{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 3, 공정 : 'F', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
|
||||
,{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 5, 공정 : 'H', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
|
||||
,{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 6, 공정 : 'M', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
|
||||
,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 1, 공정 : '소재', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
|
||||
,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 2, 공정 : 'M', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
|
||||
,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 4, 공정 : 'G', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
|
||||
,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 3, 공정 : 'F', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
|
||||
,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 5, 공정 : 'H', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
|
||||
,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 6, 공정 : 'M', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
|
||||
];
|
||||
|
||||
const group = Object.values(Object.groupBy(temp, ({생산오더}) => 생산오더))
|
||||
console.log(group);
|
||||
|
||||
// tableBuild 되었을때 getManList
|
||||
getMainList(mode,...test) {
|
||||
const talert= window.setTimeout(()=> { this.tbList.alert("Loading ...") }, 1000);
|
||||
let arr = test;
|
||||
// let testList = new Array();
|
||||
let data = new Object();
|
||||
for(let i=0; i < arr.length; i++){
|
||||
let temp = [arr[i]]
|
||||
console.log();
|
||||
if(document.getElementById(arr[i])?.type !== "checkbox"){
|
||||
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) => {
|
||||
if(data.code) {
|
||||
console.log(data.data);
|
||||
this.getCodeList(data.data)
|
||||
}else{
|
||||
kuls_alert(data.mesg);
|
||||
}
|
||||
},
|
||||
error: (req, status, err) => {
|
||||
kuls_alert(err.message);
|
||||
},
|
||||
complete: () => {
|
||||
window.clearTimeout(talert);
|
||||
|
||||
// this.setFilter();
|
||||
// this.tbList.getRows().forEach(row=>{
|
||||
// row.getCell("WO_NO").getElement().addEventListener("click",(e)=>{
|
||||
// this.rowClick(e,row);
|
||||
// })
|
||||
// });
|
||||
},
|
||||
});
|
||||
return true;
|
||||
},
|
||||
getCodeList(temp) {
|
||||
console.log(temp)
|
||||
|
||||
|
||||
let realTemp = [];
|
||||
console.log(Object.values(Object.groupBy(temp,( {WO_NO} )=>WO_NO)));
|
||||
let group = Object.values(Object.groupBy(temp,( {WO_NO,WO_SEQ} )=>WO_NO && WO_SEQ));
|
||||
|
||||
for(let i = 0; i < group.length; i++) {
|
||||
|
||||
|
||||
group[i][0].OP_CD = group[i].map(function (element) {
|
||||
return {
|
||||
OP_CD: element?.OP_CD,
|
||||
계획수량: element?.계획수량,
|
||||
PRD_QTY: element?.PRD_QTY,
|
||||
ST_TM: element?.ST_TM,
|
||||
ED_TM: element?.ED_TM,
|
||||
예상종료시간: element?.예상종료시간,
|
||||
FACLT_CD: element?.FACLT_CD,
|
||||
EMP_NM: element?.EMP_NM
|
||||
}
|
||||
|
||||
});
|
||||
console.log(group[i][0]);
|
||||
realTemp.push(group[i][0]);
|
||||
|
||||
}
|
||||
|
||||
// 임의의 데이터 직접 입력 [데이터 이렇게 php로 전처리...]
|
||||
// let temp = [
|
||||
// {생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 1, 공정 : '소재', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
|
||||
// ,{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 2, 공정 : 'M', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
|
||||
// ,{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 4, 공정 : 'G', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
|
||||
// ,{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 3, 공정 : 'F', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
|
||||
// ,{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 5, 공정 : 'H', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
|
||||
// ,{생산오더: 'P15998', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 6, 공정 : 'M', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'최창희'}
|
||||
// ,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 1, 공정 : '소재', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
|
||||
// ,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 2, 공정 : 'M', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
|
||||
// ,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 4, 공정 : 'G', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
|
||||
// ,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 3, 공정 : 'F', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
|
||||
// ,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 5, 공정 : 'H', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
|
||||
// ,{생산오더: 'P15968', 등록일: '2023.01.02', 품목:'PT01105', 도면번호:'P9900021580/000', 업체명:'현대로보틱스', 판매오더수량:"(20)", 납기일:'2023.01.27', 작업순서: 1, 공정순서 : 6, 공정 : 'M', 계획수량 : 20, 실적수량 : 20, 투입시간: '01.27 15:00', 종료시간 :'01.27 15:00', 예상종료시간 :'01.27 18:00', 설비:'L5', 작업자 :'이창희'}
|
||||
// ];
|
||||
|
||||
// const group = Object.values(Object.groupBy(temp, ({WO_NO}) => WO_NO))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
this.codeList = realTemp
|
||||
|
||||
|
||||
this.initData(group);
|
||||
|
||||
// 실제 데이터 입력함수
|
||||
|
|
@ -306,21 +394,23 @@ const VueOperStatusCode = createApp({
|
|||
// kuls_alert(err.message);
|
||||
// }
|
||||
// })
|
||||
return this.codeList;
|
||||
},
|
||||
|
||||
openPop(data, idx) {
|
||||
const process = data['공정'][idx]
|
||||
const process = data['OP_CD'][idx]
|
||||
const bindingData = {
|
||||
WO_NO: data['생산오더'],
|
||||
WO_NO: data['WO_NO'],
|
||||
// 상태: data[상태],
|
||||
DRAW_NO: data['도면번호'],
|
||||
ITEM_CD: data['품목'],
|
||||
OP_CD: process['공정명'],
|
||||
EMP_NM: process['작업자'],
|
||||
FACLT_CD: process['설비'],
|
||||
종료시간: process['종료시간'],
|
||||
실적수량: process['실적수량'],
|
||||
DRAW_NO: data['DRAW_NO'],
|
||||
ITEM_CD: data['ITEM_CD'],
|
||||
OP_CD: process['OP_CD'],
|
||||
EMP_NO: process['EMP_NO'],
|
||||
FACLT_CD: process['FACLT_CD'],
|
||||
ED_TM: process['ED_TM'],
|
||||
PRD_QTY: process['PRD_QTY'],
|
||||
}
|
||||
console.log(bindingData)
|
||||
const pop = new FieldPop(bindingData);
|
||||
pop.init();
|
||||
}
|
||||
|
|
@ -489,7 +579,7 @@ class Tb_order_class {
|
|||
|
||||
// 데이터 불러오기
|
||||
this.tbList.on("tableBuilt", () => {
|
||||
this.getMainList();
|
||||
// this.getMainList();
|
||||
});
|
||||
// // row 클릭 시에
|
||||
// this.tbList.on("rowClick", (e, tgt) => {
|
||||
|
|
@ -521,7 +611,7 @@ class Tb_order_class {
|
|||
["click", "keypress"].forEach((evt) => {
|
||||
const filterBtn = document.querySelector("#filter_btn");
|
||||
filterBtn.addEventListener(evt, () => {
|
||||
this.getMainList();
|
||||
// this.getMainList();
|
||||
});
|
||||
});
|
||||
// // 저장
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ include_once _SVC_INC_PATH_ . "/header.php";
|
|||
<label for="">생산오더</label>
|
||||
<div>
|
||||
<div class="input-box">
|
||||
<input type="text" id="">
|
||||
<input type="text" id="P_WO_NO">
|
||||
<?php // include _SVC_INC_PATH_ . '/img/popupIcon.php' ?>
|
||||
</div>
|
||||
|
||||
|
|
@ -61,7 +61,7 @@ include_once _SVC_INC_PATH_ . "/header.php";
|
|||
<!-- 조회 및 저장 버튼 -->
|
||||
<div class="button-container">
|
||||
<div class="button-box">
|
||||
<button class="point-btn" id="filter_btn" @click="getCodeList()">조회</button>
|
||||
<button class="point-btn" id="filter_btn" @click="getMainList('getStsList', 'P_WO_NO')">조회</button>
|
||||
<button class="point-btn disabled-btn" id="put_btn" disabled>저장</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -143,33 +143,34 @@ include_once _SVC_INC_PATH_ . "/header.php";
|
|||
<tbody>
|
||||
<template v-for="(code, idx) in codeList">
|
||||
<tr>
|
||||
<td rowspan="5">{{code.생산오더}}<br>{{code.등록일}}</td>
|
||||
<td rowspan="5">{{code.품목}}<br>{{code.도면번호}}<br>{{code.업체명}}</td>
|
||||
<td rowspan="5">{{code.WO_NO}}<br>{{code.등록일}}</td>
|
||||
<td rowspan="5">{{code.ITEM_CD}}<br>{{code.DRAW_NO}}<br>{{code.BP_CD}}</td>
|
||||
<td rowspan="5">{{code.판매오더수량}}</td>
|
||||
<td rowspan="5">{{code.납기일}}</td>
|
||||
<td rowspan="5">{{code.작업순서}}</td>
|
||||
<td rowspan="5">{{code.DLVY_REQ_DT}}</td>
|
||||
<td rowspan="5">{{code.WO_SEQ}}</td>
|
||||
<td rowspan="5">{{code.완료}}</td>
|
||||
<td colspan="2" v-for="(process, index) in code.공정" :key="`process-${index}`" @click="openPop(code, index)" @mouseenter="isHover[idx][index] = true" @mouseleave="isHover[idx][index] = false" :class="{'on':isHover[idx][index], 'blue-back':process.stats=='P', 'green-back':process.stats=='C', 'orange-back':process.stats=='D', 'gray-back':process.stats=='W' }">
|
||||
{{ process.공정명 }}
|
||||
<td colspan="2" v-for="index in 10" :key="`process-${index}`" @click="openPop(code, index)" @mouseenter="isHover[idx][index] = true" @mouseleave="isHover[idx][index] = false" :class="{'on':isHover[idx][index] }">
|
||||
{{ code.OP_CD?.OP_CD }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td v-for="n in 20" :key="`plan-${n}`" @click="openPop(code, Math.round(n / 2)-1)" @mouseenter="isHover[idx][Math.round(n / 2)-1] = true" @mouseleave="isHover[idx][Math.round(n / 2)-1] = false" :class="{'on':isHover[idx][Math.round(n / 2)-1]}">
|
||||
{{ n % 2 === 0 ? code['공정'][n/2-1].실적수량 : code['공정'][(n-1)/2].계획수량 }}
|
||||
{{ n % 2 === 0 ? code['OP_CD'][n/2-1]?.PRD_QTY : code['OP_CD'][(n-1)/2]?.PLAN_QTY }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td v-for="n in 20" :key="`tm-${n}`" @click="openPop(code, Math.round(n / 2)-1)" @mouseenter="isHover[idx][Math.round(n / 2)-1] = true" @mouseleave="isHover[idx][Math.round(n / 2)-1] = false" :class="{'on':isHover[idx][Math.round(n / 2)-1]}">
|
||||
{{ n % 2 === 0 ? code['공정'][n/2-1].종료시간 : code['공정'][(n-1)/2].투입시간 }}
|
||||
{{ n % 2 === 0 ? code['OP_CD'][n/2-1]?.ED_TM : code['OP_CD'][(n-1)/2]?.ST_TM }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" v-for="(process, index) in code.공정" :key="`pre-${index}`" @click="openPop(process)" @mouseenter="isHover[idx][index] = true" @mouseleave="isHover[idx][index] = false" :class="{'on':isHover[idx][index]}">{{ process.예상종료시간 }}
|
||||
<td colspan="2" v-for="index in 10" :key="`pre-${index}`" @click="openPop(process)" @mouseenter="isHover[idx][index] = true" @mouseleave="isHover[idx][index] = false" :class="{'on':isHover[idx][index]}">
|
||||
{{ code.예상종료시간?.예상종료시간 }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td v-for="n in 20" :key="`fa-${n}`" @click="openPop(code, Math.round(n / 2)-1)" @mouseenter="isHover[idx][Math.round(n / 2)-1] = true" @mouseleave="isHover[idx][Math.round(n / 2)-1] = false" :class="{'on':isHover[idx][Math.round(n / 2)-1]}">
|
||||
{{ n % 2 === 0 ? code['공정'][n/2-1].작업자 : code['공정'][(n-1)/2].설비 }}
|
||||
{{ n % 2 === 0 ? code['OP_CD'][n/2-1]?.EMP_NM : code['OP_CD'][(n-1)/2]?.FACLT_CD }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue