From 5283d341267ed98a1ffa6a0295b9d837b76bf640 Mon Sep 17 00:00:00 2001 From: Yesol Choi Date: Fri, 6 Jun 2025 12:24:57 +0900 Subject: [PATCH] =?UTF-8?q?fix=20:=203=EB=8B=A8=EA=B2=B0=EC=A0=9C=20?= =?UTF-8?q?=EC=B2=B4=ED=81=AC=20"=EC=B5=9C=EC=86=8C=20=EA=B2=B0=EC=9E=AC?= =?UTF-8?q?=EC=9E=90=EB=8A=94=20=EB=B3=B8=EC=9D=B8=20=EC=99=B8=202?= =?UTF-8?q?=EB=AA=85=EC=9D=B4=EC=83=81=20=ED=95=84=EC=88=98"=20=20=20=20?= =?UTF-8?q?=20=20=20=EB=A7=88=EC=A7=80=EB=A7=89=EC=9D=B4=20=EA=B2=B0?= =?UTF-8?q?=EC=9E=AC=EC=9E=90=20=EC=9D=B8=EC=A7=80=20"=EA=B2=B0=EC=9E=AC?= =?UTF-8?q?=EC=84=A0=EC=9D=98=20=EB=A7=88=EC=A7=80=EB=A7=89=EC=9D=80=20?= =?UTF-8?q?=EA=B2=B0=EC=9E=AC=EC=9E=90=EC=9D=B4=EC=96=B4=EC=95=BC=20?= =?UTF-8?q?=ED=95=A8"=20=20=20=20=20=20=20=EA=B2=B0=EC=9E=AC=EC=9E=90=20?= =?UTF-8?q?=EC=9E=88=EB=8A=94=EC=A7=80=20"=EA=B2=B0=EC=9E=AC=EC=9E=90?= =?UTF-8?q?=EB=8A=94=20=ED=95=84=EC=88=98=EC=9E=85=EB=8B=88=EB=8B=A4."=20?= =?UTF-8?q?=20=20=20=20=20=20=EA=B4=80=EB=A0=A8=20validation=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/app/documentManagementInsert.vue | 147 +++++++++++++-------- src/pages/app/documentManagementUpdate.vue | 72 +++++++--- 2 files changed, 139 insertions(+), 80 deletions(-) diff --git a/src/pages/app/documentManagementInsert.vue b/src/pages/app/documentManagementInsert.vue index f5a5b60..98c240c 100644 --- a/src/pages/app/documentManagementInsert.vue +++ b/src/pages/app/documentManagementInsert.vue @@ -94,70 +94,101 @@ const cancel = () => { router.push('/app/contractManagement') } +const validation = () => { + notyf.dismissAll() + const resultGu = apprLine.value.filter((item,index)=> index != 0 && !item.lineclsf) + + if(resultGu.length > 0){ + console.log("resultGu",resultGu) + notyf.error("결재선 구분값을 입력해주세요") + return false + } + + if(apprLine.value.length < 2){ + notyf.error("결재선은 본인 외 2명이상 필수입니다.") + return false + } + const result = apprLine.value.filter((item)=> item.lineclsf === 'A' ) + + if(result.length > 1){ + notyf.error("결재는 한 명입니다.") + return false + } + const resultLastItem = apprLine.value[apprLine.value.length-1].lineclsf + if(resultLastItem != 'A'){ + notyf.error("결재선의 마지막은 결재자이어야 함") + return false + } + return true +} + const loading = ref(false) const createChit = async () => { let res = null try{ loading.value = true - const createParams = { - contNo : params.contNo, //"CONT-0000000005", - bldat : '20250602',//params.regSdt.replace("-",""), // "20250501", - budat : '20250610',//params.regSdt2.replace("-",""), // "20250502", - waers : "KRW", //currencyCode.value, //"KRW", - bktxt : params.bktxt,//"전표 생성 테스트1", - lifnr : params.lifnr, //999-99-99999", - wrbtr : "1203", //formattedNumber.value, //!!!!!수정필요 "1203", - mwskz : "V4", //taxCode.value, //"V4", - gsber : '1000', //affiliationCode.value, //무슨 값인지 모름 gsber bukrs bupla 같다고 함 1000 - bupla : '1000', //affiliationCode.value, //1000 - zterm : 'PF00', //params.zterm, //!!!!!!어떤 값인지 모름 PF00 - banks : 'KR', //params.banks , //어떤 값인지 모름 KR - bankl : '012', //params.bankl, //012 - bankn : '3510876657453', //params.bankn, //3510876657453 - hkont : '5366010', //params.hkont,//G/L 계정 5366010 - wrbtrS : formattedNumber.value, //1102 - kostl : "12330", //!!!!!!12330 - projk : selectCostCode.value, //빈값 - trtGubun : '11', //params.trtGubun,//!!!!!!어떤 값인지 모름 11 - txBillSeq : '202503231', //params.txBillSeq,//!!!!!!어떤 값인지 모름 202503231 - slipAtts: pbAtts.value.map(req => ({ - logiFnm: req.logiFnm, - data: req.data})),//첨부파일 데이터, - zwf0011t : { - wkftx : "결재 테스트11", //!!!!!!어떤 값인지 모름 - apprs : [{ - label: '결재', - value: apprLine.value.map((req) => ({ - lineclsf : req.lineclsf, - bname : req.bname, - abscd : req.abscd - })) - }] - } + if (validation()) { + const createParams = { + contNo: params.contNo, //"CONT-0000000005", + bldat: '20250602',//params.regSdt.replace("-",""), // "20250501", + budat: '20250610',//params.regSdt2.replace("-",""), // "20250502", + waers: "KRW", //currencyCode.value, //"KRW", + bktxt: params.bktxt,//"전표 생성 테스트1", + lifnr: params.lifnr, //999-99-99999", + wrbtr: "1203", //formattedNumber.value, //!!!!!수정필요 "1203", + mwskz: "V4", //taxCode.value, //"V4", + gsber: '1000', //affiliationCode.value, //무슨 값인지 모름 gsber bukrs bupla 같다고 함 1000 + bupla: '1000', //affiliationCode.value, //1000 + zterm: 'PF00', //params.zterm, //!!!!!!어떤 값인지 모름 PF00 + banks: 'KR', //params.banks , //어떤 값인지 모름 KR + bankl: '012', //params.bankl, //012 + bankn: '3510876657453', //params.bankn, //3510876657453 + hkont: '5366010', //params.hkont,//G/L 계정 5366010 + wrbtrS: formattedNumber.value, //1102 + kostl: "12330", //!!!!!!12330 + projk: selectCostCode.value, //빈값 + trtGubun: '11', //params.trtGubun,//!!!!!!어떤 값인지 모름 11 + txBillSeq: '202503231', //params.txBillSeq,//!!!!!!어떤 값인지 모름 202503231 + slipAtts: pbAtts.value.map(req => ({ + logiFnm: req.logiFnm, + data: req.data + })),//첨부파일 데이터, + zwf0011t: { + wkftx: "결재 테스트11", //!!!!!!어떤 값인지 모름 + apprs: [{ + label: '결재', + value: apprLine.value.map((req) => ({ + lineclsf: req.lineclsf, + bname: req.bname, + abscd: req.abscd + })) + }] + } - // waers : currencyCode.value, //"KRW", - // bktxt : params.bktxt,//"전표 생성 테스트1", - // lifnr : params.lifnr, //999-99-99999", - // wrbtr : formattedNumber.value, //수정필요 "1203", - // mwskz : taxCode.value, //"V4", - // gsber : affiliationCode.value, //무슨 값인지 모름 gsber bukrs bupla 같다고 함 1000 - // bupla : affiliationCode.value, //1000 - // zterm : params.zterm, //어떤 값인지 모름 PF00 - // banks : params.banks , //어떤 값인지 모름 KR - // bankl : params.bankl, //012 - // bankn : params.bankn, //3510876657453 - // hkont : params.hkont,//G/L 계정 5366010 - // wrbtrS : formattedNumber.value, //1102 - // kostl : "12330", //12330 - // projk : selectCostCode.value, //빈값 - // trtGubun : params.trtGubun,//어떤 값인지 모름 11 - // txBillSeq : params.txBillSeq,//어떤 값인지 모름 202503231 - } - notyf.dismissAll() - res = await saveTempSlip(createParams) - if(res.request.status == '200'){ - notyf.primary('등록 되었습니다.') - router.push({path: '/app/priceManagement'}) + // waers : currencyCode.value, //"KRW", + // bktxt : params.bktxt,//"전표 생성 테스트1", + // lifnr : params.lifnr, //999-99-99999", + // wrbtr : formattedNumber.value, //수정필요 "1203", + // mwskz : taxCode.value, //"V4", + // gsber : affiliationCode.value, //무슨 값인지 모름 gsber bukrs bupla 같다고 함 1000 + // bupla : affiliationCode.value, //1000 + // zterm : params.zterm, //어떤 값인지 모름 PF00 + // banks : params.banks , //어떤 값인지 모름 KR + // bankl : params.bankl, //012 + // bankn : params.bankn, //3510876657453 + // hkont : params.hkont,//G/L 계정 5366010 + // wrbtrS : formattedNumber.value, //1102 + // kostl : "12330", //12330 + // projk : selectCostCode.value, //빈값 + // trtGubun : params.trtGubun,//어떤 값인지 모름 11 + // txBillSeq : params.txBillSeq,//어떤 값인지 모름 202503231 + } + notyf.dismissAll() + res = await saveTempSlip(createParams) + if (res.request.status == '200') { + notyf.primary('전표가 등록 되었습니다.') + router.push({path: '/app/priceManagement'}) + } } }catch(e){ notyf.error(e.message) diff --git a/src/pages/app/documentManagementUpdate.vue b/src/pages/app/documentManagementUpdate.vue index 0a4658d..9fa3989 100644 --- a/src/pages/app/documentManagementUpdate.vue +++ b/src/pages/app/documentManagementUpdate.vue @@ -98,7 +98,7 @@ const getDetailList = (item) => { params.slipAtts = item.slipAtts//첨부파일 console.log("params.slipAtts",params.slipAtts) apprLine.value = item.zwf0011t.apprs[0].value - console.log("apprsList.value",apprLine.value) + console.log("apprsList.value 여기 결재선 들어옴",apprLine.value) } function onInput(event) { @@ -115,6 +115,33 @@ const router = useRouter() const cancel = () => { router.push('/app/contractManagement') } +const validation = () => { + notyf.dismissAll() + const resultGu = apprLine.value.filter((item,index)=> index != 0 && !item.lineclsf) + + if(resultGu.length > 0){ + console.log("resultGu",resultGu) + notyf.error("결재선 구분값을 입력해주세요") + return false + } + + if(apprLine.value.length < 2){ + notyf.error("결재선은 본인 외 2명이상 필수입니다.") + return false + } + const result = apprLine.value.filter((item)=> item.lineclsf === 'A' ) + + if(result.length > 1){ + notyf.error("결재는 한 명입니다.") + return false + } + const resultLastItem = apprLine.value[apprLine.value.length-1].lineclsf + if(resultLastItem != 'A'){ + notyf.error("결재선의 마지막은 결재자이어야 함") + return false + } + return true +} const loading = ref(false) @@ -122,26 +149,28 @@ const updateChit = async () => { let res = null try{ loading.value = true - const createParams = { - contNo : params.contNo, //"CONT-0000000005", - zwf0011t : { - belnr: "0605145807", //!!!!!!!뭔 값인지 모름 - wkfid: "FI2025900020", //!!!!!!!뭔 값인지 모름 - apprs : [{ - label: '결재', - value: apprLine.value.map((req) => ({ - lineclsf : req.lineclsf, - bname : req.bname, - abscd : req.abscd - })) - }] + if (validation()){ + const createParams = { + contNo : params.contNo, //"CONT-0000000005", + zwf0011t : { + belnr: "0605145807", //!!!!!!!뭔 값인지 모름 + wkfid: "FI2025900020", //!!!!!!!뭔 값인지 모름 + apprs : [{ + label: '결재', + value: apprLine.value.map((req) => ({ + lineclsf : req.lineclsf, + bname : req.bname, + abscd : req.abscd + })) + }] + } + } + notyf.dismissAll() + res = await updateTempSlip(createParams) + if(res.request.status == '200'){ + notyf.primary('결재선이 수정 되었습니다.') + router.push({path: '/app/priceManagement'}) } - } - notyf.dismissAll() - res = await updateTempSlip(createParams) - if(res.request.status == '200'){ - notyf.primary('등록 되었습니다.') - router.push({path: '/app/priceManagement'}) } }catch(e){ notyf.error(e.message) @@ -216,7 +245,6 @@ const isDuplicate = (person: Person) =>{ watch( selectUser, (newPersons) => { - console.log("newPersons",newPersons) if (Array.isArray(newPersons) && newPersons.length > 0) { const filtered = newPersons.filter((p) => !isDuplicate(p)) apprLine.value = [...apprLine.value, ...filtered] @@ -230,7 +258,7 @@ const onDocDelete = (index: number) => { if(apprLine.value.length-1 !== params.flexColumn.length || (params.flexColumn.length == 8 && apprLine.value.length-1 == params.flexColumn.length)) - { + {console.log("삭제 index 접근함") apprLine.value.splice(index, 1) } }