From d0c91e6a4472132f6939d601e31d7eb5264b82f7 Mon Sep 17 00:00:00 2001 From: Kasi Date: Wed, 28 May 2025 18:11:05 +0900 Subject: [PATCH] =?UTF-8?q?com=20:=20app.vue=20-=20breadcrumb=20=EC=A3=BC?= =?UTF-8?q?=EC=84=9D=20com=20:=20navbar.vue=20-=20=ED=85=8C=EB=A7=88?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EC=82=AD=EC=A0=9C=20func=20:=20VFlexTable?= =?UTF-8?q?=20=EC=BB=A4=EC=8A=A4=ED=85=80=EC=B6=94=EA=B0=80=20fix=20:=20?= =?UTF-8?q?=EA=B3=84=EC=95=BD=EA=B4=80=EB=A6=AC,=20=EA=B2=B0=EC=9E=AC?= =?UTF-8?q?=ED=95=A8=20=EC=8A=A4=ED=83=80=EC=9D=BC=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app-vuero/VFlexTableCustomize.vue | 595 ++++++++++++++++++ src/layouts/navbar.vue | 5 - src/pages/app.vue | 28 +- src/pages/app/ApprovalManagement.vue | 189 +++--- src/pages/app/contractManagement.vue | 12 + src/pages/app/priceDetail.vue | 7 +- 6 files changed, 694 insertions(+), 142 deletions(-) create mode 100644 src/components/app-vuero/VFlexTableCustomize.vue diff --git a/src/components/app-vuero/VFlexTableCustomize.vue b/src/components/app-vuero/VFlexTableCustomize.vue new file mode 100644 index 0000000..3f60478 --- /dev/null +++ b/src/components/app-vuero/VFlexTableCustomize.vue @@ -0,0 +1,595 @@ + + + + + diff --git a/src/layouts/navbar.vue b/src/layouts/navbar.vue index 9740cbe..e1d59f2 100644 --- a/src/layouts/navbar.vue +++ b/src/layouts/navbar.vue @@ -62,11 +62,6 @@ const links = ref([ diff --git a/src/pages/app.vue b/src/pages/app.vue index f03f78a..ae943b0 100644 --- a/src/pages/app.vue +++ b/src/pages/app.vue @@ -7,24 +7,24 @@ definePage({ requiresAuth: true, }, }) -const breadcrumb = [ - { - label: '가격조사', - hideLabel: true, - // use external links - link: 'https://vuero.cssninja.io/', - }, - { - label: '가격조사', - // or generate a router link with 'to' props - to: '/components/', - } -] +// const breadcrumb = [ +// { +// label: '가격조사', +// hideLabel: true, +// // use external links +// link: 'https://vuero.cssninja.io/', +// }, +// { +// label: '가격조사', +// // or generate a router link with 'to' props +// to: '/components/', +// } +// ] \ No newline at end of file diff --git a/src/pages/app/ApprovalManagement.vue b/src/pages/app/ApprovalManagement.vue index 4e9583a..5484729 100644 --- a/src/pages/app/ApprovalManagement.vue +++ b/src/pages/app/ApprovalManagement.vue @@ -4,6 +4,9 @@ import type { VFlexTableWrapperSortFunction, VFlexTableWrapperFilterFunction } f 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"; onBeforeMount(async () => { @@ -13,6 +16,45 @@ const isModalOpen = ref(false) const selectedRow = ref(null) const prcsNo = 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', @@ -34,14 +76,7 @@ const params = reactive({ }, { key: 'process', label: '구분', cellClass: 'paymentColumn5' }, ], - flexWrapperColumn: { - apprNo: { label: '결재번호', cellClass: 'paymentColumn1', searchable: true, sortable: true }, - title: { label: '제목', cellClass: 'paymentColumn2', searchable: true, sortable: true }, - name: { label: '작성자', cellClass: 'paymentColumn3', searchable: true, sortable: true }, - regDt: { label: '등록일', cellClass: 'paymentColumn4', searchable: true, sortable: true }, - process: { label: '구분', cellClass: 'paymentColumn5', searchable: true, sortable: true }, - }, - paymentParams: [], + approvalParams: [], rowData: [], }) @@ -57,10 +92,13 @@ async function getIntegratedPaymentList() { sabun: '17131303', // 김진형 17131303, 손원창 17131304 } const result = await getIntegratedApproval(paymentParams) - params.paymentParams = result.content.map(item => ({ + params.approvalParams = result.content.map(item => ({ ...item, process: gubunMap[item.gubun] || '', })) + //페이지 관련 값 설정 + totalItems.value = result.totalElements + totalPages.value = result.totalPages } async function updateIntegratedPaymentApprovalFunc() { @@ -95,16 +133,16 @@ const gubunMap = { } const searchApproval = async () => { - const paymentParams = { + const searchParams = { params: { title: params.title, page: '1', row: '10', }, } - const result = await getIntegratedApproval(paymentParams) - params.paymentParams = result.content - console.log(params.paymentParams) + const result = await getIntegratedApproval(searchParams) + params.approvalParams = result.content + console.log(params.approvalParams) } type User = (typeof users)[0] @@ -271,7 +309,7 @@ const onRowClick2 = (row: any) => {
{ 승인 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
- - - - - - - - - - diff --git a/src/pages/app/priceDetail.vue b/src/pages/app/priceDetail.vue index 940881a..6d656f2 100644 --- a/src/pages/app/priceDetail.vue +++ b/src/pages/app/priceDetail.vue @@ -326,7 +326,7 @@ const onPrcsFileDownload = async (prcsNo: string, fileOrd: number, logiFnm: stri 견적서확인
- - +