|
|
@ -330,7 +330,8 @@
|
|
|
|
$P.productList.onAppend = item => {
|
|
|
|
$P.productList.onAppend = item => {
|
|
|
|
|
|
|
|
|
|
|
|
if (!item) return;
|
|
|
|
if (!item) return;
|
|
|
|
|
|
|
|
if (item.length < 1) return;
|
|
|
|
|
|
|
|
|
|
|
|
// 업무별 DataTables(그리드) tr, td
|
|
|
|
// 업무별 DataTables(그리드) tr, td
|
|
|
|
let foundContent = document.getElementById("productListRow--productList").content;
|
|
|
|
let foundContent = document.getElementById("productListRow--productList").content;
|
|
|
|
let foundTr = $(foundContent).find("tr")[0].cloneNode(false);
|
|
|
|
let foundTr = $(foundContent).find("tr")[0].cloneNode(false);
|
|
|
@ -344,13 +345,20 @@
|
|
|
|
let replacer = (str, dataItem) => str
|
|
|
|
let replacer = (str, dataItem) => str
|
|
|
|
.replace(/{onclick}/gi, "pageObject['${pageName}'].productList.setCurrent('" + dataItem.getValue("keyCnt") + "');");
|
|
|
|
.replace(/{onclick}/gi, "pageObject['${pageName}'].productList.setCurrent('" + dataItem.getValue("keyCnt") + "');");
|
|
|
|
|
|
|
|
|
|
|
|
let di = $P.productList.getData(item[0].keyCnt, "item");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let tr = di.inString(foundTr.outerHTML, replacer);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$("#tbody--productList").append(tr);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fnMakeGridImageViewer($("#tbody--productList").find("td.prdDsuseImg").last()[0], "dsusePrdImgFiles");
|
|
|
|
for(let i=0; i<item.length; i++){
|
|
|
|
|
|
|
|
let di = $P.productList.getData(item[i].keyCnt, "item");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let tr = di.inString(foundTr.outerHTML, replacer);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$("#tbody--productList").append(tr);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fnMakeGridImageViewer(
|
|
|
|
|
|
|
|
$("#tbody--productList").find("td.prdDsuseImg").last()[0],
|
|
|
|
|
|
|
|
"dsusePrdImgFiles",
|
|
|
|
|
|
|
|
di.data.fileInfo
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
$P.productList.onRemove = item => {
|
|
|
|
$P.productList.onRemove = item => {
|
|
|
@ -400,7 +408,7 @@
|
|
|
|
* 버튼 clickEvent
|
|
|
|
* 버튼 clickEvent
|
|
|
|
**************************************************************************/
|
|
|
|
**************************************************************************/
|
|
|
|
// 저장
|
|
|
|
// 저장
|
|
|
|
$P.fnSave = () => {
|
|
|
|
$P.fnSave = async() => {
|
|
|
|
// validate 확인
|
|
|
|
// validate 확인
|
|
|
|
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
|
|
|
|
if (!customValidate($("#frmEdit--${pageName}").find("input, select, textarea"))) return;
|
|
|
|
|
|
|
|
|
|
|
@ -420,23 +428,46 @@
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
let fileArr = [];
|
|
|
|
let fileCount = 0;
|
|
|
|
$("#tbody--productList").find("input[type='file'][name='dsusePrdImgFiles']").each(function() {
|
|
|
|
$("#tbody--productList").find("input[type='file'][name='dsusePrdImgFiles']").each(function() {
|
|
|
|
fileArr.push(this.files[0]);
|
|
|
|
if(this.dataset.url != null){
|
|
|
|
|
|
|
|
fileCount++;
|
|
|
|
|
|
|
|
} else if(this.files[0] != null){
|
|
|
|
|
|
|
|
fileCount++;
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
if(dsProd.length != fileArr.length){
|
|
|
|
if(dsProd.length != fileCount){
|
|
|
|
dialog.alert({
|
|
|
|
dialog.alert({
|
|
|
|
content: "입력되지 않은 폐기 제품 이미지가 있습니다."
|
|
|
|
content: "입력되지 않은 폐기 제품 이미지가 있습니다."
|
|
|
|
});
|
|
|
|
});
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dialog.alert({
|
|
|
|
dialog.alert({
|
|
|
|
content: "현재 폐기 신청서 접수 정보를 저장 하시겠습니까?"
|
|
|
|
content: "현재 폐기 신청서 접수 정보를 저장 하시겠습니까?"
|
|
|
|
, init: () => { setDialogZindex(); }
|
|
|
|
, init: () => { setDialogZindex(); }
|
|
|
|
, onOK: () => {
|
|
|
|
, onOK: () => {
|
|
|
|
$P.control.save(bsshData, dsProd, fileArr); // formFields
|
|
|
|
|
|
|
|
|
|
|
|
let promiseArr = [];
|
|
|
|
|
|
|
|
$("#tbody--productList").find("input[type='file'][name='dsusePrdImgFiles']").each(function() {
|
|
|
|
|
|
|
|
if(this.files[0] != null){
|
|
|
|
|
|
|
|
let elementFile = this.files[0];
|
|
|
|
|
|
|
|
promiseArr.push( new Promise(resolve => { resolve(elementFile); }) );
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
let fileInfo = {};
|
|
|
|
|
|
|
|
fileInfo.URL = this.dataset.url;
|
|
|
|
|
|
|
|
fileInfo.MIME_TYPE = this.dataset.mimeType;
|
|
|
|
|
|
|
|
fileInfo.FILE_NM = this.dataset.fileNm;
|
|
|
|
|
|
|
|
fileInfo.FILE_ID = this.dataset.fileId;
|
|
|
|
|
|
|
|
promiseArr.push(fnCreateFileFromFileInfo(fileInfo));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Promise.all(promiseArr).then((values) => {
|
|
|
|
|
|
|
|
$P.control.save(bsshData, dsProd, values);
|
|
|
|
|
|
|
|
}).catch((error) => {});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -533,7 +564,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
// 3. Dataset 설정
|
|
|
|
// 3. Dataset 설정
|
|
|
|
$P.control.setData([${dsuseReceptInfo}]);
|
|
|
|
$P.control.setData([${dsuseReceptInfo}]);
|
|
|
|
//$P.productControl.setData([${opnnDlbrMbrInfo}]);
|
|
|
|
|
|
|
|
|
|
|
|
let productInfo = ${dsuseReceptDtlInfo};
|
|
|
|
|
|
|
|
let fileInfo = ${fileInfo};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for(let p of productInfo){
|
|
|
|
|
|
|
|
p.keyCnt = (""+prdRowKey++);
|
|
|
|
|
|
|
|
for(let f of fileInfo){
|
|
|
|
|
|
|
|
if(p.dscdmngSn == f.SUB_TYPE){
|
|
|
|
|
|
|
|
p.fileInfo = f;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
$P.productList.append(productInfo);
|
|
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
</script>
|
|
|
|
</script>
|
|
|
|