mirror of
https://git.hmsn.ink/kospo/svcm/oa.git
synced 2026-03-20 01:12:30 +09:00
fix : 오기, 버그 수정
This commit is contained in:
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user