mirror of
https://git.hmsn.ink/kospo/svcm/oa.git
synced 2026-03-20 07:13:44 +09:00
fix : 3단결제 체크 "최소 결재자는 본인 외 2명이상 필수"
마지막이 결재자 인지 "결재선의 마지막은 결재자이어야 함"
결재자 있는지 "결재자는 필수입니다."
관련 validation 처리 완료
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user