diff --git a/src/pages/app/ApprovalManagement.vue b/src/pages/app/ApprovalManagement.vue index d1f081a..9896096 100644 --- a/src/pages/app/ApprovalManagement.vue +++ b/src/pages/app/ApprovalManagement.vue @@ -5,9 +5,12 @@ import { users } from '/src/data/layouts/card-grid-v1' import PriceDetail from "/@src/pages/app/priceDetail.vue"; import {conveterNo, updateApprovalStatus} from "/@src/service/approvalApi.ts"; import {formatDatefromString} from "/@src/utils/common/comfunc.ts"; -import {getPriceList} from "/@src/service/priceApi.ts"; -import {getContractList} from "/@src/service/contractApi.ts"; +import DocumentManagementDetail from "/@src/pages/app/documentManagementDetail.vue"; +const gubunMap = { + SAP: '전표생성', + SVCM: '가격조사', +} onBeforeMount(async () => { await getIntegratedApprovalList() @@ -18,47 +21,12 @@ onBeforeMount(async () => { const isModalOpen = ref(false) const selectedRow = ref(null) const prcsNo = ref('') +let apprNo = ref('') const router = useRouter() const totalItems = ref(0) // 전체 아이템 수 const currentPage = ref(1) // 현재 페이지 const itemsPerPage = 8 const totalPages = ref(1) - -async function getApprovalListData(){ - const today = new Date() - searchParamsList.regSdt = new Date().setDate(today.getDate() - 30) - searchParamsList.regEdt = new Date().setDate(today.getDate()) - - const priceBase = { - params:{ - regSdt: formatDatefromString(searchParamsList.regSdt), - regEdt: formatDatefromString(searchParamsList.regEdt), - page: 1, - row: itemsPerPage - } - } - const result = await getPriceList(priceBase) - params.priceData = result.content - //페이지 관련 값 설정 - totalItems.value = result.totalElements - totalPages.value = result.totalPages -} - -const searchApprovalDoc = async (item) => { - const searchParams = { - params: { - title : searchParamsList.title, //제목 - regSdt: formatDatefromString(searchParamsList.regSdt),//등록시작일 - regEdt: formatDatefromString(searchParamsList.regEdt),//등록종료일 - page: item,//페이지 - row: itemsPerPage //아이템갯수 - } - } - const result = await getContractList(searchParams) - params.priceData = result.content - totalItems.value = result.totalElements -} - const masks = ref({ modelValue: 'YYYY-MM-DD', }) @@ -95,6 +63,7 @@ const searchParamsList = reactive({ regEdt: '',//등록종료일 }) + function formatRegDt(value) { return value ? value.substring(0, 16) : '' } @@ -148,10 +117,7 @@ async function updateIntegratedPaymentRejectionFunc() { window.location.reload() } -const gubunMap = { - SAP: '전표생성', - SVCM: '가격조사', -} + const searchApproval = async (item) => { @@ -173,9 +139,6 @@ const searchApproval = async (item) => { sabun: '17131303', // 김진형 17131303, 손원창 17131304 } - console.log('itemPerChangePage', itemPerChangePage) - console.log('itemsPerPage', itemsPerPage) - const result = await getIntegratedApproval(searchParams) params.approvalParams = result.content.map(item => ({ ...item, @@ -183,15 +146,14 @@ const searchApproval = async (item) => { })) totalItems.value = result.totalElements totalPages.value = result.totalPages - console.log(params.approvalParams) - console.log('itemPerChangePage', itemPerChangePage) - console.log('itemsPerPage', itemsPerPage) } type User = (typeof users)[0] const onRowClick = async (row) => { params.rowData = row + console.log(row) + apprNo = row.apprNo try { const params = { apprNo: row.apprNo, @@ -326,7 +288,6 @@ watch(currentPage, (newParams) => { @row-click="onRowClick" > - { @close="isModalOpen = false" > - import {getContractList} from "/src/service/contractApi"; -import regex, {formatCurrency} from "/@src/utils/common/regex.ts"; +import {formatCurrency} from "/@src/utils/common/regex.ts"; import { formatDatefromString } from '/@src/utils/common/comfunc' const emits = defineEmits(['on-search', 'on-tr-click']) @@ -9,8 +9,10 @@ const masks = ref({ modelValue: 'YYYY-MM-DD', }) const router = useRouter() - -const selectedCode = ref() +const totalItems = ref(0) // 전체 아이템 수 +const currentPage = ref(1) // 현재 페이지 +const itemsPerPage = 8 +const totalPages = ref(1) watch(selUser, (value) => { console.log(value) @@ -29,39 +31,71 @@ onBeforeMount(async () => { async function getContractListView() { const today = new Date() - params.regSdt = new Date().setDate(today.getDate() - 30) + params.signSdt = new Date().setDate(today.getDate() - 30) + const contractParams = { params:{ - regSdt:formatDatefromString(params.regSdt), - regEdt:'', - page: '1', - row: '10' + regSdt: formatDatefromString(params.signSdt), + regEdt: formatDatefromString(params.signEdt), + page: 1, + row: itemsPerPage, } } const result = await getContractList(contractParams) - data.contractData = result + data.contractData = result.content + console.log('result', data.contractData) + //페이지 관련 값 설정 + totalItems.value = result.totalElements + totalPages.value = result.totalPages } -const onSearch = async () => { - const contractParams = { - params:{ - cateCd: selectedCode.value, - regSdt:formatDatefromString(params.regSdt), - regEdt:formatDatefromString(params.regEdt), - page: '1', - row: '10' - } +const searchParamsList = reactive({ + cateCd : '', //분야코드 + contNo : '', // 계약번호 + stCd : '', //등록상태 + apprStat : '', //결재상태 + regNm : '', //담당자 + regSdt: '',//등록시작일 + regEdt: '',//등록종료일 +}) +const searchContract = async (item) => { + + let itemPerChangePage; + if(item == totalPages.value){ + const remain = totalItems.value % itemsPerPage + itemPerChangePage = remain === 0? itemsPerPage : remain + }else{ + itemPerChangePage = itemsPerPage } - const result = await getContractList(contractParams) - data.contractData = result + + const searchParams = { + cateCd: params.selectedCode, + apprNo: params.contNo, + regNm: params.regNm, + signSdt: formatDatefromString(params.signSdt),//계약시작일 + signEdt: formatDatefromString(params.signEdt),//계약종료일 + page: item,//페이지 + row: itemPerChangePage, //아이템갯수 + } + + console.log('itemPerChangePage', itemPerChangePage) + console.log('itemsPerPage', itemsPerPage) + + const result = await getContractList({ params: searchParams }) + data.contractData = result.content + totalItems.value = result.totalElements + totalPages.value = result.totalPages + console.log(result) + console.log(result.totalPages) } const params = reactive({ sessionUser:'', contNo: '', regNm: '', - regSdt:'', - regEdt: '', + signSdt:'', + signEdt: '', + selectedCode:'', flexColumn: [ { key: 'cateNm', label: '분야', cellClass: 'contractColumn1'}, { key: 'title', label: '계약명', cellClass: 'contractColumn2' }, @@ -93,6 +127,11 @@ function getBilling(row){ router.push({ path: '/app/documentManagementDetail', state: { key: row.contNo}}) } //detail로 수정하기 현재 : 대금지급전 } + +watch(currentPage, (newParams) => { + currentPage.value = newParams + searchContract(currentPage.value) +})