From c3a04e666defa2448d30e309c7c4ff35b4607a91 Mon Sep 17 00:00:00 2001 From: Kasi Date: Fri, 30 May 2025 14:06:46 +0900 Subject: [PATCH] =?UTF-8?q?func=20:=20=EC=A1=B0=EC=82=AC=EC=99=84=EB=A3=8C?= =?UTF-8?q?=EC=8B=9C=20=EA=B2=AC=EC=A0=81=EC=84=9C=ED=99=95=EC=9D=B8=20?= =?UTF-8?q?=EC=BB=AC=EB=9F=BC=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/app-vuero/ComVFlexTable.vue | 10 ++--- src/pages/app/priceDetail.vue | 48 +++++++++++++++++----- 2 files changed, 42 insertions(+), 16 deletions(-) diff --git a/src/components/app-vuero/ComVFlexTable.vue b/src/components/app-vuero/ComVFlexTable.vue index 7e2404d..a83f805 100644 --- a/src/components/app-vuero/ComVFlexTable.vue +++ b/src/components/app-vuero/ComVFlexTable.vue @@ -586,19 +586,19 @@ const columns = computed(() => { } .approvalColumn1 { - min-width: 20%; + flex: 0 0 20%!important; } .approvalColumn2 { - min-width: 40%; + flex: 0 0 40%!important; } .approvalColumn3 { - min-width: 10%; + flex: 0 0 10%!important; } .approvalColumn4 { - min-width: 20%; + flex: 0 0 20%!important; } .approvalColumn5 { - min-width: 10%; + flex: 0 0 10%!important; } .flex-table-cell.is-relative.approvalColumn5 { diff --git a/src/pages/app/priceDetail.vue b/src/pages/app/priceDetail.vue index 7b9711e..a0f2108 100644 --- a/src/pages/app/priceDetail.vue +++ b/src/pages/app/priceDetail.vue @@ -36,6 +36,7 @@ const generalParams = reactive({ prvPwd : "", aiYn: true, }) + const params = reactive({ cateSelect: '', prcsNo: '', // 키값 @@ -58,13 +59,7 @@ const params = reactive({ { key: 'apprDt', label: '승인일자'}, ], priceData:[], - prcsBizsColumn: [ //견적사 입력 - { key: 'email', label: '이메일', editable: true}, - { key: 'bizNo', label: '사업자번호', editable: true, cellClass: 'is-justify-content-center'}, - { key: 'totAmt', label: '금액', editable: true, cellClass: 'is-justify-content-right'}, - { key: 'sendYn', label: '전송여부', editable: true, cellClass: 'is-justify-content-center'}, - { key: 'retransmitYn', label: '재전송여부', editable: true, cellClass: 'is-justify-content-center'}, - ], + prcsBizsColumn: [], prcsBizs: [], //견적사 입력 데이터 dtlSpecsColumn: [ { key: 'num', label: '번호', editable: false }, @@ -72,14 +67,32 @@ const params = reactive({ { key: 'spec', label: '규격', editable: true }, { key: 'unit', label: '단위', editable: true }, { key: 'qty', label: '수량', editable: true }, - { key: '', label: '단가(VAT별도)', editable: false }, - { key: '', label: '금액(VAT별도)', editable: false }, + { key: 'unitPrc', label: '단가(VAT별도)', editable: false }, + { key: 'amt', label: '금액(VAT별도)', editable: false }, ], dtlSpecs: [], //상세 규격 입력 데이터 minAmt: null, minAmtComp: [], }) +params.prcsBizsColumn = computed(() => { + const baseColumns = [ + { key: 'email', label: '이메일', editable: true}, + { key: 'bizNo', label: '사업자번호', editable: true, cellClass: 'is-justify-content-center'}, + { key: 'bizNm', label: '사업자명', editable: true, cellClass: 'is-justify-content-left'}, + { key: 'mngNm', label: '담당자', editable: true, cellClass: 'is-justify-content-left'}, + { key: 'totAmt', label: '금액', editable: true, cellClass: 'is-justify-content-right'}, + { key: 'sendYn', label: '전송여부', editable: true, cellClass: 'is-justify-content-center'}, + { key: 'retransmitYn', label: '재전송여부', editable: true, cellClass: 'is-justify-content-center'}, + ] + + if(params.svyYn) { + return baseColumns.filter(col => col.key !== 'sendYn' && col.key !== 'retransmitYn') + } + return baseColumns +}) + + function getDetailList(arg){ console.log("arg",arg)//svy_yn @@ -97,6 +110,19 @@ function getDetailList(arg){ generalParams.regSdat = formatDatefromString(arg.regSdat) generalParams.regEdat = formatDatefromString(arg.regEdat) + params.prcsBizs = arg.prcsBizs.map(biz => ({ + ...biz, + mngNm: biz.estimates[0]?.mngNm || '-' + })) + + // console.log('dtlSpecs1', params.dtlSpecs) + // params.dtlSpecs = arg.prcsBizs.map(biz => ({ + // ...biz, + // unitPrc: biz.estimates[0]?.unitPrc || 0, + // amt: biz.estimates[0]?.amt || 0 + // })) + // console.log('dtlSpecs2', params.dtlSpecs) + apprLine.value = arg.apprMst.apprReqs.map(req => ({ gubunNm: req.gubunNm, deptCd: req.deptCd, @@ -460,6 +486,8 @@ function minAmtCalc (est) { margin: 0.25rem 0; } + + .flex-table { .flex-table-header { padding: 1rem !important; @@ -506,8 +534,6 @@ function minAmtCalc (est) { color: var(--smoke-white); } - - .datatable-table { td:nth-child(1) { background-color: var(--primary);