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) } }