calculator2026/33/static/js/ScaleFormulaReadonlyPane-AeIzjaXU.js
2026-06-25 09:43:48 +08:00

1 line
4.2 KiB
JavaScript

import{$ as e,At as t,Bt as n,Cr as r,Dt as i,Er as a,H as o,K as s,Ot as c,Pt as l,U as u,Wn as d,er as f,mn as p,tt as m,xr as h}from"./vendor-ag-grid~XmMajorFactor~XmConsultCategoryFactor~xmInfo~ZxFwView~HtFeeMethodTypeLineVie~ntegcu2a-CFxQnYK4.js";import{t as g}from"./vendor-ag-grid~XmMajorFactor~XmConsultCategoryFactor~xmInfo~ZxFwView~HtFeeMethodTypeLineVie~ntegcu2a-BnO-wAhh.js";import{D as _,T as v}from"./workspace-DxKKyh8w.js";import{n as y}from"./numberFormat-jhZZmX17.js";import{c as b}from"./sql-C69Jo4HU.js";import{C as x}from"./index-CAPJG_im.js";import{t as S}from"./vendor-ag-grid~XmMajorFactor~XmConsultCategoryFactor~xmInfo~ZxFwView~HtFeeMethodTypeLineVie~ntegcu2a-DXO754eW.js";import{a as C,i as w,o as T,r as E,t as D}from"./agGridReadonlyAutoHeight-BpRhYCq1.js";import{c as O}from"./pricingScaleLink-BNsm4Fxd.js";import{a as k,i as A,o as j}from"./pricingScaleGrid-BCsr0Q1x.js";var M=(e,t)=>t?v.global.t(`pricingScale.${e}`,t):v.global.t(`pricingScale.${e}`);const N=e=>({headerName:M(`columns.number`),minWidth:250,flex:2,wrapText:!0,autoHeight:!0,cellStyle:{whiteSpace:`normal`,lineHeight:`1.4`},cellRendererParams:{suppressCount:!0},colSpan:A,valueFormatter:t=>{if(t.node?.rowPinned)return e.totalLabel;let n=t.data;if(!t.node?.group&&n?.majorCode)return n.majorCode;let r=String(t.value||``),i=e.parseProjectIndexFromPathKey(r);return i==null?e.idLabelMap.get(r)||r:M(`projectLabel`,{index:i})},tooltipValueGetter:t=>{if(t.node?.rowPinned)return e.totalLabel;let n=t.data;if(!t.node?.group&&n?.majorCode)return n.majorCode;let r=String(t.value||``),i=e.parseProjectIndexFromPathKey(r);return i==null?e.idLabelMap.get(r)||r:M(`projectLabel`,{index:i})}});var P={class:`flex h-full min-h-0 flex-col gap-3`},F={class:`flex items-center justify-between gap-3`},I={class:`text-sm font-semibold text-foreground`},L={class:`text-xs text-muted-foreground`},R=m({__name:`ScaleFormulaReadonlyPane`,props:{contractId:{},serviceId:{},method:{}},setup(m){let v=m,{t:A}=_(),M=x(),R=d(null),z=null,B=o(()=>v.method===`investScale`),V=o(()=>B.value?A(`zxFwView.categories.investmentScaleFormula`):A(`zxFwView.categories.landScaleFormula`)),H=async()=>{await M.loadServicePricingMethodState(v.contractId,v.serviceId,v.method)},U=o(()=>M.getServicePricingMethodState(v.contractId,v.serviceId,v.method)),W=o(()=>{let e=U.value?.detailRows;return Array.isArray(e)?e:[]}),G=o(()=>j(k(b().map(({id:e,item:t})=>[e,t]),B.value?({hasCost:e,hasArea:t})=>e&&!t:({hasArea:e})=>e))),K=e=>typeof e.value==`number`&&Number.isFinite(e.value)?y(e.value,3):``,q=o(()=>B.value?`amount`:`landArea`),J=o(()=>B.value?A(`pricingScale.columns.investAmount`):A(`pricingScale.columns.landArea`)),Y=o(()=>D([{headerName:J.value,field:q.value,minWidth:130,flex:1,headerClass:`ag-right-aligned-header`,cellClassRules:{"ag-right-aligned-cell":()=>!0},valueFormatter:K},{headerName:A(`pricingScale.columns.basicWork`),field:`benchmarkBudgetBasic`,minWidth:130,flex:1,headerClass:`ag-right-aligned-header`,cellClassRules:{"ag-right-aligned-cell":()=>!0},valueFormatter:K},{headerName:A(`zxFwView.formulaColumns.basicFormula`),field:`basicFormula`,minWidth:260,flex:2},{headerName:A(`pricingScale.columns.optionalWork`),field:`benchmarkBudgetOptional`,minWidth:130,flex:1,headerClass:`ag-right-aligned-header`,cellClassRules:{"ag-right-aligned-cell":()=>!0},valueFormatter:K},{headerName:A(`zxFwView.formulaColumns.optionalFormula`),field:`optionalFormula`,minWidth:260,flex:2}])),X=o(()=>N({totalLabel:V.value,idLabelMap:G.value,parseProjectIndexFromPathKey:O})),Z={...C},Q=async()=>{await i();let e=R.value;!e||e.isDestroyed?.()||(e.resetRowHeights(),e.onRowHeightChanged(),e.refreshCells({force:!0}))},$=()=>{z&&clearTimeout(z),z=setTimeout(()=>{z=null,Q()},0)},ee=e=>{R.value=e.api,$()};return p(W,()=>{$()},{deep:!0}),p(()=>v.method,()=>{H(),$()}),l(()=>{H()}),c(()=>{H(),$()}),t(()=>{z&&clearTimeout(z)}),(t,i)=>(n(),s(`div`,P,[u(`div`,F,[u(`div`,null,[u(`h3`,I,a(V.value),1),u(`p`,L,a(f(A)(`zxFwView.formulaColumns.subtitle`)),1)])]),u(`div`,{class:h(f(w))},[e(f(g),{theme:f(T),style:r(f(E)),"row-data":W.value,"column-defs":Y.value,"auto-group-column-def":X.value,"grid-options":Z,"locale-text":f(S),onGridReady:ee},null,8,[`theme`,`style`,`row-data`,`column-defs`,`auto-group-column-def`,`locale-text`])],2)]))}});export{R as t};