func : 결재함 기능추가

- 반려버튼 기능 활성화
 - 승인버튼 기능 활성화
This commit is contained in:
Kasicry
2025-05-27 22:25:58 +09:00
parent 82260eef05
commit e76d367f96
2 changed files with 29 additions and 18 deletions

View File

@@ -1,5 +1,5 @@
<script setup lang="ts"> <script setup lang="ts">
import {conveterNo, getIntegratedApproval, updateIntegratedApproval} from '/src/service/integratedPayment' import {conveterNo, getIntegratedApproval, updateIntegratedStatus} from '/src/service/integratedPayment'
import type { VFlexTableWrapperSortFunction, VFlexTableWrapperFilterFunction } from '/src/components/app-vuero/ComVFlexTableWrapper.vue' import type { VFlexTableWrapperSortFunction, VFlexTableWrapperFilterFunction } from '/src/components/app-vuero/ComVFlexTableWrapper.vue'
import { users } from '/src/data/layouts/card-grid-v1' import { users } from '/src/data/layouts/card-grid-v1'
import PriceDetail from "/@src/pages/app/priceDetail.vue"; import PriceDetail from "/@src/pages/app/priceDetail.vue";
@@ -11,6 +11,7 @@ onBeforeMount(async () => {
const isModalOpen = ref(false) const isModalOpen = ref(false)
const selectedRow = ref<any>(null) const selectedRow = ref<any>(null)
const prcsNo = ref<string>('') const prcsNo = ref<string>('')
const router = useRouter()
const masks = ref({ const masks = ref({
modelValue: 'YYYY-MM-DD', modelValue: 'YYYY-MM-DD',
@@ -40,6 +41,7 @@ const params = reactive({
process: { label: '구분', cellClass: 'paymentColumn5', searchable: true, sortable: true }, process: { label: '구분', cellClass: 'paymentColumn5', searchable: true, sortable: true },
}, },
paymentParams: [], paymentParams: [],
rowData: [],
}) })
function formatRegDt(value) { function formatRegDt(value) {
@@ -60,22 +62,31 @@ async function getIntegratedPaymentList() {
})) }))
} }
async function updateIntegratedPaymentList() { async function updateIntegratedPaymentApprovalFunc() {
console.log(selectedRow)
const paymentUpdateParams = { const paymentUpdateParams = {
apprNo: params.rowData.apprNo,
apprNo: selectedRow.value.apprNo, apprOrd: params.rowData.apprOrd,
apprOrd: selectedRow.value.apprOrd, sabun: params.rowData.sabun,
apprStatCd: '0200', // 결재 상태변경 (결재승인 0200 결재회수 0300 결재반려 0400) apprStatCd: '0400', // 결재 상태변경 (결재승인 0200 결재회수 0300 결재반려 0400)
reason: '', reason: '',
sabun: selectedRow.value.sabun,
} }
const result = await updateIntegratedApproval(paymentUpdateParams) const result = await updateIntegratedStatus(paymentUpdateParams)
console.log(result) notyf.primary("결재승인완료")
notyf.error("견적서가 없습니다.") window.location.reload()
router.push('/app/paymentManagement')
} }
async function updateIntegratedPaymentRejectionFunc() {
const paymentUpdateParams = {
apprNo: params.rowData.apprNo,
apprOrd: params.rowData.apprOrd,
sabun: params.rowData.sabun,
apprStatCd: '0400', // 결재 상태변경 (결재승인 0200 결재회수 0300 결재반려 0400)
reason: '',
}
const result = await updateIntegratedStatus(paymentUpdateParams)
notyf.primary("결재승인완료")
window.location.reload()
}
const gubunMap = { const gubunMap = {
SAP: '전표생성', SAP: '전표생성',
@@ -129,22 +140,22 @@ const userFilter: VFlexTableWrapperFilterFunction<User> = ({ searchTerm, row })
} }
const onRowClick = async (row) => { const onRowClick = async (row) => {
console.log(row) params.rowData = row
try { try {
const params = { const params = {
apprNo: row.apprNo, apprNo: row.apprNo,
sabun: row.sabun sabun: row.sabun
} }
console.log(params)
// API 호출 // API 호출
const result = await conveterNo(params) const result = await conveterNo(params)
// 모달 무조건 열기 // 모달 무조건 열기
isModalOpen.value = true isModalOpen.value = true
// prcsNo 설정 (응답 구조에 맞게 수정) // prcsNo 설정 (응답 구조에 맞게 수정)
if (result?.prcsNo) { if (result?.prcsNo) {
prcsNo.value = result.prcsNo prcsNo.value = result.prcsNo
prcs.value = result.prcsNo
} else { } else {
notyf.error('가격조사번호를 찾을 수 없습니다.') notyf.error('가격조사번호를 찾을 수 없습니다.')
} }
@@ -292,8 +303,8 @@ const onRowClick2 = (row: any) => {
<PriceDetail :prcsNo="prcsNo" /> <PriceDetail :prcsNo="prcsNo" />
</template> </template>
<template #action> <template #action>
<VButton type="submit" color="info" raised>반려</VButton> <VButton type="submit" color="info" raised @click="updateIntegratedPaymentRejectionFunc">반려</VButton>
<VButton type="submit" color="primary" raised @click="updateIntegratedPaymentList">승인</VButton> <VButton type="submit" color="primary" raised @click="updateIntegratedPaymentApprovalFunc">승인</VButton>
</template> </template>
</VModal> </VModal>
<!-- <VFlexTableWrapper :columns="params.flexWrapperColumn" :data="params.paymentParams">--> <!-- <VFlexTableWrapper :columns="params.flexWrapperColumn" :data="params.paymentParams">-->

View File

@@ -41,7 +41,7 @@ export async function getIntegratedApproval(params = {}) {
* @property {string} params.reason - 사유 (반려일시 상태코드 0400) * @property {string} params.reason - 사유 (반려일시 상태코드 0400)
* @returns * @returns
*/ */
export async function updateIntegratedApproval(params = {}) { export async function updateIntegratedStatus(params = {}) {
try { try {
const result = await axios.put(`/api/appr`, params, { const result = await axios.put(`/api/appr`, params, {
headers: { sabun: params.sabun }, headers: { sabun: params.sabun },