fix : 오기, 버그 수정

This commit is contained in:
KG
2025-05-30 01:23:31 +09:00
parent c51036cf15
commit d213733931
4 changed files with 124 additions and 58 deletions

View File

@@ -29,7 +29,7 @@ export interface VFlexTableProps {
clickable?: boolean clickable?: boolean
subtable?: boolean subtable?: boolean
noHeader?: boolean noHeader?: boolean
usePaymentHeader?: boolean useApprovalHeader?: boolean
} }
const emits = defineEmits<{ const emits = defineEmits<{
@@ -37,7 +37,7 @@ const emits = defineEmits<{
}>() }>()
const props = withDefaults(defineProps<VFlexTableProps>(), { const props = withDefaults(defineProps<VFlexTableProps>(), {
columns: undefined, columns: undefined,
usePaymentHeader: false, useApprovalHeader: false,
data: () => [], data: () => [],
}) })
@@ -109,7 +109,7 @@ const columns = computed(() => {
props.subtable && 'sub-table', props.subtable && 'sub-table',
]" ]"
> >
<slot v-if="props.usePaymentHeader" name="payment-header"> <slot v-if="props.useApprovalHeader" name="approval-header">
<div <div
v-if="!props.noHeader" v-if="!props.noHeader"
class="flex-table-header" class="flex-table-header"
@@ -577,19 +577,32 @@ const columns = computed(() => {
} }
} }
.paymentColumn1 { .approvalColumn1 {
min-width: 20%; min-width: 20%;
} }
.paymentColumn2 { .approvalColumn2 {
min-width: 40%; min-width: 40%;
} }
.paymentColumn3 { .approvalColumn3 {
min-width: 10%; min-width: 10%;
} }
.paymentColumn4 { .approvalColumn4 {
min-width: 20%; min-width: 20%;
} }
.paymentColumn5 { .approvalColumn5 {
min-width: 10%; min-width: 10%;
} }
.flex-table-cell.is-relative.approvalColumn5 {
justify-content: center;
}
.flex-table-cell.is-relative.approvalColumn1 {
justify-content: center;
}
.flex-table-cell.is-relative.approvalColumn3 {
justify-content: center;
}
.flex-table-cell.is-relative.approvalColumn4 {
justify-content: center;
}
</style> </style>

View File

@@ -29,7 +29,7 @@ export interface VFlexTableProps {
clickable?: boolean clickable?: boolean
subtable?: boolean subtable?: boolean
noHeader?: boolean noHeader?: boolean
usePaymentHeader?: boolean useContractHeader?: boolean
} }
const emits = defineEmits<{ const emits = defineEmits<{
@@ -37,7 +37,7 @@ const emits = defineEmits<{
}>() }>()
const props = withDefaults(defineProps<VFlexTableProps>(), { const props = withDefaults(defineProps<VFlexTableProps>(), {
columns: undefined, columns: undefined,
usePaymentHeader: false, useContractHeader: false,
data: () => [], data: () => [],
}) })
@@ -109,7 +109,7 @@ const columns = computed(() => {
props.subtable && 'sub-table', props.subtable && 'sub-table',
]" ]"
> >
<slot v-if="props.usePaymentHeader" name="payment-header"> <slot v-if="props.useContractHeader" name="contract-header">
<div <div
v-if="!props.noHeader" v-if="!props.noHeader"
class="flex-table-header" class="flex-table-header"
@@ -577,19 +577,56 @@ const columns = computed(() => {
} }
} }
.paymentColumn1 { //.contractColumn1 {
min-width: 20%; // min-width: 5%;
} //}
.paymentColumn2 { //.contractColumn2 {
min-width: 40%; // min-width: 20%;
} // overflow: hidden;
.paymentColumn3 { // white-space: nowrap;
min-width: 10%; // text-overflow: ellipsis;
} //}
.paymentColumn4 { //.contractColumn3 {
min-width: 20%; // min-width: 10%;
} //}
.paymentColumn5 { //.contractColumn4 {
min-width: 10%; // min-width: 5%;
} //}
//.contractColumn5 {
// min-width: 10%;
//}
//.contractColumn6 {
// min-width: 15%;
//}
//.contractColumn7 {
// min-width: 15%;
//}
//.contractColumn8 {
// min-width: 10%;
//}
//.contractColumn9 {
// min-width: 10%;
//}
//
//.flex-table-cell.is-relative.contractColumn1 {
// justify-content: center;
//}
//.flex-table-cell.is-relative.contractColumn3 {
// justify-content: center;
//}
//.flex-table-cell.is-relative.contractColumn4 {
// justify-content: center;
//}
//.flex-table-cell.is-relative.contractColumn5 {
// justify-content: flex-end;
//}
//.flex-table-cell.is-relative.contractColumn6 {
// justify-content: center;
//}
//.flex-table-cell.is-relative.contractColumn7 {
// justify-content: center;
//}
//.flex-table-cell.is-relative.contractColumn9 {
// justify-content: center;
//}
</style> </style>

View File

@@ -64,15 +64,17 @@ const notyf = useNotyf()
const params = reactive({ const params = reactive({
title: '', title: '',
priceData: [], priceData: [],
regSdt:'',
regEdt:'',
flexColumn: [ flexColumn: [
{ key: 'process', label: '구분', cellClass: 'paymentColumn5' }, { key: 'process', label: '구분', cellClass: 'approvalColumn5' },
{ key: 'apprNo', label: '결재번호', cellClass: 'paymentColumn1' }, { key: 'apprNo', label: '결재번호', cellClass: 'approvalColumn1' },
{ key: 'title', label: '제목', cellClass: 'paymentColumn2' }, { key: 'title', label: '제목', cellClass: 'approvalColumn2' },
{ key: 'name', label: '작성자', cellClass: 'paymentColumn3' }, { key: 'name', label: '작성자', cellClass: 'approvalColumn3' },
{ {
key: 'regDt', key: 'regDt',
label: '등록일', label: '등록일',
cellClass: 'paymentColumn4', cellClass: 'approvalColumn4',
format: formatRegDt, format: formatRegDt,
}, },
], ],
@@ -85,13 +87,13 @@ function formatRegDt(value) {
} }
async function getIntegratedPaymentList() { async function getIntegratedPaymentList() {
const paymentParams = { const approvalParams = {
title: '', title: '',
page: '1', page: '1',
row: '10', row: '10',
sabun: '17131303', // 김진형 17131303, 손원창 17131304 sabun: '17131303', // 김진형 17131303, 손원창 17131304
} }
const result = await getIntegratedApproval(paymentParams) const result = await getIntegratedApproval(approvalParams)
params.approvalParams = result.content.map(item => ({ params.approvalParams = result.content.map(item => ({
...item, ...item,
process: gubunMap[item.gubun] || '', process: gubunMap[item.gubun] || '',
@@ -102,27 +104,27 @@ async function getIntegratedPaymentList() {
} }
async function updateIntegratedPaymentApprovalFunc() { async function updateIntegratedPaymentApprovalFunc() {
const paymentUpdateParams = { const approvalUpdateParams = {
apprNo: params.rowData.apprNo, apprNo: params.rowData.apprNo,
apprOrd: params.rowData.apprOrd, apprOrd: params.rowData.apprOrd,
sabun: params.rowData.sabun, sabun: params.rowData.sabun,
apprStatCd: '0200', // 결재 상태변경 (결재승인 0200 결재회수 0300 결재반려 0400) apprStatCd: '0200', // 결재 상태변경 (결재승인 0200 결재회수 0300 결재반려 0400)
reason: '', reason: '',
} }
const result = await updateApprovalStatus(paymentUpdateParams) const result = await updateApprovalStatus(approvalUpdateParams)
notyf.primary("결재승인완료") notyf.primary("결재승인완료")
window.location.reload() window.location.reload()
} }
async function updateIntegratedPaymentRejectionFunc() { async function updateIntegratedPaymentRejectionFunc() {
const paymentUpdateParams = { const approvalUpdateParams = {
apprNo: params.rowData.apprNo, apprNo: params.rowData.apprNo,
apprOrd: params.rowData.apprOrd, apprOrd: params.rowData.apprOrd,
sabun: params.rowData.sabun, sabun: params.rowData.sabun,
apprStatCd: '0400', // 결재 상태변경 (결재승인 0200 결재회수 0300 결재반려 0400) apprStatCd: '0400', // 결재 상태변경 (결재승인 0200 결재회수 0300 결재반려 0400)
reason: '', reason: '',
} }
const result = await updateApprovalStatus(paymentUpdateParams) const result = await updateApprovalStatus(approvalUpdateParams)
notyf.primary("결재반려완료") notyf.primary("결재반려완료")
window.location.reload() window.location.reload()
} }
@@ -196,7 +198,7 @@ const onRowClick = async (row) => {
</VField> </VField>
</div> </div>
<div class="column is-8"> <div class="column is-8">
<VField class="pr-2"> <VField class="">
<VLabel class="has-fullwidth"> <VLabel class="has-fullwidth">
등록기간 등록기간
</VLabel> </VLabel>
@@ -224,8 +226,8 @@ const onRowClick = async (row) => {
</template> </template>
</VDatePicker> </VDatePicker>
</div> </div>
<div style="transform: translateY(15px)"> <div class="column is-1" style="display: flex; align-items: center; justify-content: center;">
~ <span>~</span>
</div> </div>
<div class="column is-6"> <div class="column is-6">
<VDatePicker <VDatePicker
@@ -275,16 +277,16 @@ const onRowClick = async (row) => {
:separators="true" :separators="true"
:clickable="true" :clickable="true"
:compact="true" :compact="true"
:use-payment-header="true" :use-approval-header="true"
@row-click="onRowClick" @row-click="onRowClick"
> >
<template #payment-header> <template #approval-header>
<div class="flex-table-header"> <div class="flex-table-header">
<span class="flex-table-item paymentColumn5">구분</span> <span class="flex-table-item approvalColumn5">구분</span>
<span class="flex-table-item paymentColumn1">결재번호</span> <span class="flex-table-item approvalColumn1">결재번호</span>
<span class="flex-table-item paymentColumn2">제목</span> <span class="flex-table-item approvalColumn2">제목</span>
<span class="flex-table-item paymentColumn3">작성자</span> <span class="flex-table-item approvalColumn3">작성자</span>
<span class="flex-table-item paymentColumn4">등록일</span> <span class="flex-table-item approvalColumn4">등록일</span>
</div> </div>
</template> </template>
</ComVFlexTable> </ComVFlexTable>

View File

@@ -27,14 +27,14 @@ onBeforeMount(async () => {
}) })
async function getContractListView() { async function getContractListView() {
const approvalParams = { const contractParams = {
params:{ params:{
title: '', title: '',
page: '1', page: '1',
row: '10' row: '10'
} }
} }
const result = await getContractList(approvalParams) const result = await getContractList(contractParams)
data.contractData = result data.contractData = result
console.log('result', result) console.log('result', result)
} }
@@ -42,15 +42,15 @@ async function getContractListView() {
const params = reactive({ const params = reactive({
sessionUser:'', sessionUser:'',
flexColumn: [ flexColumn: [
{ key: 'cateNm', label: '분야' }, { key: 'cateNm', label: '분야', cellClass: 'contractColumn1'},
{ key: 'title', label: '계약명' }, { key: 'title', label: '계약명', cellClass: 'contractColumn2' },
{ key: 'compNm', label: '계약상대자' }, { key: 'compNm', label: '계약상대자', cellClass: 'contractColumn3' },
{ key: 'regNm', label: '담당자' }, { key: 'regNm', label: '담당자', cellClass: 'contractColumn4' },
{ key: 'contAmt', label: '계약금액', format: formatCurrency }, { key: 'contAmt', label: '계약금액', format: formatCurrency, cellClass: 'contractColumn5' },
{ key: 'contNo', label: '계약번호' }, { key: 'contNo', label: '계약번호', cellClass: 'contractColumn6' },
{ key: 'signDt', label: '계약체결일' }, { key: 'signDt', label: '계약체결일', cellClass: 'contractColumn7' },
{ key: 'charge', label: '대금청구', cellClass: 'is-justify-content-center' }, { key: 'charge', label: '대금청구', cellClass: 'is-justify-content-center contractColumn8' },
{ key: 'contStat', label: '계약상태' }, { key: 'contStat', label: '계약상태', cellClass: 'contractColumn9' },
], ],
}) })
@@ -189,8 +189,22 @@ function getContractDetail(){
:clickable="true" :clickable="true"
:rounded="true" :rounded="true"
:compact="true" :compact="true"
:use-contract-header="true"
@rowClick="getContractDetail" @rowClick="getContractDetail"
> >
<!-- <template #contract-header>-->
<!-- <div class="flex-table-header">-->
<!-- <span class="flex-table-item contractColumn1">구분</span>-->
<!-- <span class="flex-table-item contractColumn2">계약명</span>-->
<!-- <span class="flex-table-item contractColumn3">계약상대자</span>-->
<!-- <span class="flex-table-item contractColumn4">담당자</span>-->
<!-- <span class="flex-table-item contractColumn5">계약금액</span>-->
<!-- <span class="flex-table-item contractColumn6">계약번호</span>-->
<!-- <span class="flex-table-item contractColumn7">계약체결일</span>-->
<!-- <span class="flex-table-item contractColumn8">대금청구</span>-->
<!-- <span class="flex-table-item contractColumn9">계약상태</span>-->
<!-- </div>-->
<!-- </template>-->
<!-- sendYn 컬럼 커스텀 렌더링 --> <!-- sendYn 컬럼 커스텀 렌더링 -->
<template #body-cell-charge="{ row }"> <template #body-cell-charge="{ row }">
<div> <div>