@agile-team/mach-report 2.19.1 → 2.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/README.md +18 -3
  2. package/dist/ExcelBindingWizard-B7aeRg46.cjs +1 -0
  3. package/dist/{ExcelBindingWizard-xJIYmnZ_.js → ExcelBindingWizard-Chn6ZC2-.js} +350 -350
  4. package/dist/ParamEditor-BdFMa1CX.cjs +1 -0
  5. package/dist/{ParamEditor-D1wWemaf.js → ParamEditor-o-7E7WZZ.js} +10 -10
  6. package/dist/{ReportBatchPanel-B88R-fME.js → ReportBatchPanel-CNJ4Useq.js} +2 -2
  7. package/dist/{ReportBatchPanel-BkJFqeEW.cjs → ReportBatchPanel-DVpmB7tG.cjs} +1 -1
  8. package/dist/ReportLabelStudio-Drsm9sAS.cjs +1 -0
  9. package/dist/ReportLabelStudio-r8VFnhGQ.js +589 -0
  10. package/dist/ReportParamPanel-CVpK8mFc.cjs +1 -0
  11. package/dist/{ReportParamPanel-mQkeN70Q.js → ReportParamPanel-peB-KEmm.js} +10 -2
  12. package/dist/{ReportPreview-DBbctg6C.js → ReportPreview-CGcxwkAn.js} +2093 -1978
  13. package/dist/ReportPreview-hlwvZ1wf.cjs +6 -0
  14. package/dist/{ReportTemplateLibrary-BOh2MgjQ.cjs → ReportTemplateLibrary-DjjyZnZB.cjs} +1 -1
  15. package/dist/{ReportTemplateLibrary-BGELmgd3.js → ReportTemplateLibrary-DyIJhJjX.js} +1 -1
  16. package/dist/RuleEditor-BVuRn_OQ.cjs +1 -0
  17. package/dist/{RuleEditor-CoLqgehG.js → RuleEditor-BeknHHOD.js} +176 -172
  18. package/dist/{TemplateOutlinePanel-DU95loB-.js → TemplateOutlinePanel-Bv8CxbXS.js} +1 -1
  19. package/dist/{TemplateOutlinePanel-DiG8tRRe.cjs → TemplateOutlinePanel-D6TXg1aV.cjs} +1 -1
  20. package/dist/{TemplateReusePanel-DE1KSD6c.js → TemplateReusePanel-CfousvPY.js} +1 -1
  21. package/dist/{TemplateReusePanel-G-Y299wc.cjs → TemplateReusePanel-wrSbd_mr.cjs} +1 -1
  22. package/dist/{TemplateReviewPanel-KQx9ts0D.cjs → TemplateReviewPanel-BKFcSbTh.cjs} +1 -1
  23. package/dist/{TemplateReviewPanel-vqFJ_Y9o.js → TemplateReviewPanel-F2tqWNLO.js} +1 -1
  24. package/dist/artifact-integrity.json +36 -36
  25. package/dist/designer-B52ddmHO.js +6676 -0
  26. package/dist/designer-Dtsw_rh7.cjs +2 -0
  27. package/dist/designer.cjs +1 -1
  28. package/dist/designer.d.cts +142 -5
  29. package/dist/designer.d.ts +142 -5
  30. package/dist/designer.js +1 -1
  31. package/dist/{plugin-CPyHs4UC.cjs → plugin-BMsIIJDh.cjs} +1 -1
  32. package/dist/{plugin-DsXJRR6Q.js → plugin-Co1oKD7T.js} +1 -1
  33. package/dist/sbom.cdx.json +1 -1
  34. package/dist/server.cjs +1 -1
  35. package/dist/server.js +1 -1
  36. package/dist/style.css +1 -1
  37. package/dist/vue/async.d.cts +8 -0
  38. package/dist/vue/async.d.ts +8 -0
  39. package/dist/vue/index.d.cts +10 -2
  40. package/dist/vue/index.d.ts +10 -2
  41. package/dist/vue-async.cjs +1 -1
  42. package/dist/vue-async.js +3 -3
  43. package/dist/vue.cjs +1 -1
  44. package/dist/vue.js +5 -5
  45. package/package.json +1 -1
  46. package/dist/ExcelBindingWizard-UHSApSG9.cjs +0 -1
  47. package/dist/ParamEditor-BZb-okUd.cjs +0 -1
  48. package/dist/ReportLabelStudio-B4WZ2XNN.js +0 -239
  49. package/dist/ReportLabelStudio-BN-fYNCr.cjs +0 -1
  50. package/dist/ReportParamPanel-sOANVRz-.cjs +0 -1
  51. package/dist/ReportPreview-CuoHl15N.cjs +0 -6
  52. package/dist/RuleEditor-XaLcCdTb.cjs +0 -1
  53. package/dist/designer-CyKXBhQg.cjs +0 -2
  54. package/dist/designer-fVvpYg8H.js +0 -5824
@@ -0,0 +1 @@
1
+ "use strict";const e=require("vue"),$=require("./injection-keys-Db_DyLkm.cjs"),M=require("@agile-team/mach-report"),ae=require("./progress-B0ctFpKf.cjs"),N=require("./_plugin-vue_export-helper-BLmdZLlg.cjs"),z={printPrepareTimeout:"打印资源准备超时,请检查字体与图片后重试。",printImageFailed:"第 {index} 张图片未能加载,已停止打印,避免输出缺失内容。",printFontFailed:"打印字体 {family} 未能加载,请检查字体资源后重试。",printPrepareFailed:"打印准备失败,请检查打印配置或改用 PDF。",printCalibration:"打印校准",printOffsetX:"水平偏移(mm)",printOffsetY:"垂直偏移(mm)",printCalibrationTest:"打印校准页",printCalibrationHint:"正值向右/向下移动,负值向左/向上。使用同规格纸张及 100% 比例,先试打一张。系统对话框关闭不代表设备已完成。"};function te(a){const l=a?.calibration?.offsetXmm??0,r=a?.calibration?.offsetYmm??0;if(![l,r].every(n=>Number.isFinite(n)&&Math.abs(n)<=20))throw new RangeError("Print calibration must be within ±20 mm");return{x:l,y:r}}function ne(a={}){if(a.fonts&&(!Array.isArray(a.fonts)||a.fonts.length>8))throw new RangeError("At most eight print font faces are allowed");return{...a,...a.fonts?{fonts:a.fonts.map(l=>({...l}))}:{},...a.calibration?{calibration:{...a.calibration}}:{}}}function K(a={}){const l=e.ref(!1),r=e.ref(null),n=e.ref(null),i=e.ref(null);function f(d=!1){l.value=!1,d&&e.nextTick(()=>n.value?.focus())}function v(d){d.target instanceof Node&&!r.value?.contains(d.target)&&f()}function s(d){d.key!=="Escape"||!l.value||d.isComposing||(d.preventDefault(),d.stopPropagation(),f(!0))}return e.watch(l,d=>{!d||a.focusOnOpen===!1||e.nextTick(()=>(i.value?.querySelector("input")??i.value?.querySelector("button:not(:disabled)"))?.focus())}),e.onMounted(()=>{document.addEventListener("pointerdown",v),document.addEventListener("focusin",v)}),e.onBeforeUnmount(()=>{document.removeEventListener("pointerdown",v),document.removeEventListener("focusin",v)}),{opened:l,root:r,trigger:n,panel:i,close:f,onKeydown:s}}const F={paramOptionsLoading:"正在搜索选项…",paramOptionsEmpty:"没有匹配选项",paramOptionsFailed:"选项加载失败,请重试",paramOptionsMissingLoader:"尚未配置选项加载服务",paramOptionsDependencies:"请先选择上级条件",paramOptionsClear:"清除选择",paramNumberRangeStart:"最小值",paramNumberRangeEnd:"最大值"},V={prefillTitle:"安全预填",prefillHint:"按业务主键匹配白名单字段,先核对差异再整批应用;默认只补空白。",prefillCurrent:"当前值",prefillReference:"参考 / 待填值",prefillLoad:"读取参考数据",prefillApply:"应用预填",prefillMatched:"一致",prefillChanged:"可补入",prefillSkipped:"已跳过",prefillConflict:"需处理",prefillUnchanged:"值一致",prefillReadonly:"只读",prefillOccupied:"保留已有值",prefillMissingSource:"来源为空",prefillMissingTarget:"无匹配目标",prefillAmbiguous:"同源值不一致",prefillInvalid:"值格式无效",comparisonTitle:"业务数据对比",comparisonHint:"按稳定业务主键比较参考数据与本次查询,不按显示行号匹配。",comparisonLoad:"读取并对比",comparisonAdded:"新增",comparisonRemoved:"删除",comparisonChanged:"变化",comparisonUnchanged:"一致",reviewCancel:"取消读取",reviewClose:"关闭数据核对",reviewBefore:"参考值",reviewAfter:"当前 / 待填值",reviewField:"字段",reviewKey:"业务主键",reviewDelta:"差额",reviewRatio:"变化比率",reviewLocate:"定位",reviewEmpty:"暂无差异记录",reviewPrevious:"上一页",reviewNext:"下一页",reviewPage:"差异分页"};function le(a){return{...V,...Object.fromEntries(Object.entries(a).filter(([,l])=>l!==void 0))}}const U={calculationTitle:"选区计算",calculationLocal:"仅本地分析,不写回实绩、不重算原公式。请选取同一单位与量纲的数值。",calculationHint:"点击起点,Shift + 点击终点或方向键扩选。",calculationFormula:"计算方式",calculationExpression:"组合公式",calculationExpressionHint:"支持 SUM、AVERAGE/AVG、MIN、MAX、COUNT、MEDIAN 及 + - * / 和括号,不执行 Excel 公式;采用浮点数,精度仅用于展示。",calculationPrecision:"展示小数位",calculationRun:"计算选区",calculationCancel:"取消计算",calculationResult:"计算结果",calculationIncluded:"参与数值",calculationExcluded:"排除单元格",calculationEmpty:"选区没有可计算数值,计数为 0,其余结果为空。",calculationNoSelection:"在旁边报表中点击起点,再 Shift + 点击终点选择数据。",calculationSummary:"选区摘要",calculationAdvanced:"高级计算",calculationClose:"收起选区计算",calculationPending:"正在计算选区…",calculationSummarySum:"求和",calculationSummaryAverage:"均值",calculationSummaryCount:"数值",calculationMixedColumns:"选区跨多列,请确认单位与口径后使用高级计算。",calculationSum:"求和 SUM",calculationAverage:"平均值 AVERAGE",calculationMin:"最小值 MIN",calculationMax:"最大值 MAX",calculationCount:"数值计数 COUNT",calculationMedian:"中位数 MEDIAN",calculationCustom:"组合公式",calculationErrorSelection:"请选择同一明细区域中的数据。",calculationErrorLimit:"选区超过计算预算,请缩小范围后重试。",calculationErrorExpression:"公式无效,请使用支持的摘要名称、运算符与括号。",calculationErrorDivision:"除数不能为 0。",calculationErrorOverflow:"结果超出有效数值范围。",calculationErrorPrecision:"数值超出安全精度,或展示小数位不是 0 至 12 的整数。"};function re(a){const l={...U};for(const r of Object.keys(l)){const n=a[r];typeof n=="string"&&(l[r]=n)}return l}const W={...F,...V,reviewTools:"数据工具",validationTitle:"数据校验",validationError:"错误",validationWarning:"提示",validationDataset:"全表",validationRow:"行",validationMore:"请缩小范围查看更多问题",drillActions:"查看关联",drillOpening:"正在打开…",drillMissingValue:"当前单元格缺少关联参数",drillFailed:"关联内容打开失败,请重试",...z,...U,exportMenu:"导出",exportMenuDescription:"选择文件格式",clearSearch:"清除搜索",searchHint:"Enter 下一个 · Shift+Enter 上一个",searchNoMatches:"没有匹配内容",pageJump:"跳至页",pageJumpInvalid:"请输入有效页码",pageJumpHint:"Enter 跳转",pagination:"报表分页",recordNavigation:"标签记录",recordInfo:"记录 {cur} / {total}",prevRecord:"上一条记录",nextRecord:"下一条记录",dataExplanation:"来源数据说明",dataExplanationHint:"按字段查看来源与计算说明",dataExplanationSearch:"搜索说明、字段或记录",dataExplanationEmpty:"没有匹配的数据说明",dataMissingSource:"暂无来源",dataNotApplicable:"业务不适用",dataNotCalculable:"无法计算",columnSearchHint:"输入列名或字段标识",columnSearchShortcut:"↑ ↓ 选择 · Enter 定位",closeColumnDirectory:"关闭字段目录",columnResultsMore:"{count} 个匹配字段,显示前 {limit} 个;继续输入可缩小范围",columnCount:"{count} 个字段",settingsGeneral:"常规",settingsTools:"工具",settingsAdvanced:"高级",settingsAdvancedDescription:"按需开启分析能力,保持日常阅读简洁。",settingsCalculations:"启用选区计算",settingsCalculationsDescription:"开启后直接在报表旁选择数据,底部查看单列摘要,侧栏配置高级计算。",title:"报表预览",prevPage:"‹ 上一页",nextPage:"下一页 ›",pageInfo:"{cur} / {total}",fitWidth:"适宽",exportHtml:"导出 HTML",exportPdf:"导出 PDF",exportExcel:"导出 Excel",exportImage:"导出图片",exportWord:"导出 Word",exporting:"正在生成 {format}…",print:"打印",pdfWindow:"PDF 窗口",loading:"报表渲染中…",empty:"暂无预览数据",errorPrefix:"",retry:"重试",pdfFontUnavailable:"PDF 字体尚未就绪,请联系管理员检查字体配置;预览及其它导出仍可使用。",searchPlaceholder:"搜索报表内容",matchInfo:"{cur}/{total}",prevMatch:"‹",nextMatch:"›",thumbnails:"缩略图",paramsTitle:"查询条件",query:"查 询",reset:"重 置",paramRequired:"请填写{label}",paramInvalid:"{label}:{message}",paramPrompt:"请先完善查询条件",paramPromptDescription:"填写必填条件后点击查询,即可生成报表。",paramSelectPlaceholder:"请选择{label}",paramTextPlaceholder:"请输入{label}",paramRangeStart:"开始日期",paramRangeEnd:"结束日期",searching:"搜索中…",importExcel:"导入 Excel 模板",importing:"正在导入 Excel…",editCell:"编辑单元格",editingHint:"双击单元格编辑 · Enter 确认 · Esc 取消",saving:"正在保存修改…",editInvalidNumber:"请输入有效数字;清空表示无值",editInvalidBoolean:"请输入 true / false、是 / 否或 1 / 0",editConflict:"该单元格已变化,请重新打开编辑",settings:"设置",settingsDisplay:"阅读工具",settingsExport:"导出与打印",settingsData:"数据操作",settingsUnavailable:"需由接入方配置启用",settingsReset:"恢复默认",settingsClose:"关闭设置",search:"内容搜索",closeSearch:"关闭搜索",prevSearchMatch:"上一个匹配",nextSearchMatch:"下一个匹配",zoom:"缩放工具",settingsLocal:"按需启用工具,仅作用于当前预览。",editingLocal:"修改为本地草稿;不会自动写入业务数据库。",editingSaved:"修改将通过接入方配置的保存回调提交。",importLocal:"导入仅生成本地预览,不自动替换业务数据。",emptyDescription:"当前查询没有明细,请调整查询条件后重试。",undo:"撤销",redo:"重做",restoreChanges:"恢复来源值",changes:"修改明细",changesCount:"{count} 处修改",changesEmpty:"尚无修改",changesBefore:"来源值",changesAfter:"当前值",editAtomicRequired:"批量保存需要接入方提供原子 saveBatch 回调;本次未写入任何单元格。",clipboardLimit:"单次最多粘贴 10000 个单元格,请分批处理。",preferencesError:"偏好存储不可用,设置仍在当前预览中生效。",freezeHeaders:"冻结表头",frozenColumns:"冻结前列",sections:"工作表与章节",locateField:"定位字段",locateFieldPlaceholder:"输入字段标识,Enter 定位",locateFieldMissing:"未找到该字段,请核对字段标识。",importSummary:"Excel 导入摘要",importPreserved:"已导入 {sheets} 个工作表,保留内容、合并和样式。",importWarnings:"兼容性提示",importReadOnly:"公式、日期及受保护单元格保持只读;公式不重算。",conflicts:"保存冲突",editReadOnly:"选区包含只读或无权限单元格,本次修改未应用。",editMissing:"选区超出报表范围或缺少业务来源,请重新选择。",editRecalculationUnavailable:"此报表缺少重算会话或稳定数据来源,暂不支持编辑;请使用 reports/本地数据源重新加载。",editDuplicate:"选区包含同一业务字段的重复单元格,请缩小选区。",clipboardInvalid:"剪贴板内容无法识别,请使用矩形表格文本重新粘贴。",editSaved:"修改已通过保存回调确认",settingsPanes:"冻结窗格",columnDirectory:"字段目录",columnSearch:"搜索列名或字段",columnNoMatches:"未找到匹配字段",columnResults:"匹配字段",columnGroup:"明细区域",discardTitle:"保留当前修改?",discardDescription:"当前报表有尚未保存的输入或本地草稿,继续操作将替换这些内容。",discardKeep:"继续编辑",discardProceed:"放弃修改并继续",taskQuery:"正在获取数据…",taskValidate:"正在校验数据…",taskLayout:"正在生成版式…",taskAssets:"正在准备图片和字体…",taskEncode:"正在生成文件…",taskDownload:"正在准备下载…",taskPrint:"正在准备打印…",taskCancel:"取消任务",taskCancelled:"任务已取消,可重新操作。",diagnosticsSearch:"搜索提示、错误码或位置",diagnosticsMore:"共 {count} 条匹配,当前展示前 100 条;请搜索缩小范围。",diagnosticsTitle:"输出兼容性提示",diagnosticsLocate:"定位",diagnosticsLocation:"第 {page} 页 · 组件 {component}",diagnosticsStrict:"当前格式存在已知内容降级,请查看兼容性提示或选择其他输出格式。",diagnosticsDetails:"查看技术详情",diagnosticMissingImage:"图片或图表资源尚未准备完成,请重试或联系管理员。",diagnosticUnsupported:"当前输出格式会省略此内容,建议选择 PDF 或图片格式。",diagnosticUnsupportedStyle:"当前格式无法保留部分样式,请查看位置并选择适合的输出格式。",diagnosticImageFormat:"当前图片格式无法直接导出,请转换资源后重试。",diagnosticRichText:"文字内容会保留,部分字体与段落样式将简化。",diagnosticNested:"单元格中的嵌套内容会省略,单元格文字会保留。",diagnosticImageAsync:"图片需要完成加载后才能输出。",diagnosticImageDecode:"图片加载失败,请检查资源后重试。",diagnosticAssetFailed:"图表或图片生成失败,请重试或联系管理员。",diagnosticAssetBudget:"图片资源超出处理范围,请减少资源或缩小报表范围。"},J={emptyAccent:"#79a7e8",shellBg:"#f4f7fc",shellFg:"#334155",toolbarBg:"#ffffff",toolbarBorder:"#e4eaf3",toolbarFg:"#334155",btnFg:"#526078",btnBorder:"#dbe3ef",btnHoverBg:"#edf3ff",btnHoverFg:"#315fba",btnActiveBg:"#3569d4"};function Y(a={}){return{...a,defaults:a.defaults??{},presets:a.presets??{}}}function oe(a){return a}const x={showExport:!0,showPrint:!0,showPdfWindow:!0,showSettings:!0,showParams:!0,gapPx:18,pdfFontUrl:"/simhei.ttf",logger:console},ie={warn:()=>{},info:()=>{}};function se(a,l){if(!(!a&&!l))return{...a,...l,calibration:{...a?.calibration,...l?.calibration}}}function T(a,l){return{...a,...l,theme:{...a?.theme,...l?.theme},messages:{...a?.messages,...l?.messages},preview:{...a?.preview,...l?.preview},xlsx:{...a?.xlsx,...l?.xlsx},toolbar:{...a?.toolbar,...l?.toolbar},interaction:{...a?.interaction,...l?.interaction},output:{...a?.output,...l?.output},printOptions:se(a?.printOptions,l?.printOptions)}}function ce(a){return{showExport:a.showExport??x.showExport,showPrint:a.showPrint??x.showPrint,showPdfWindow:a.showPdfWindow??x.showPdfWindow,showSettings:a.showSettings??x.showSettings,showParams:a.showParams??x.showParams,gapPx:a.gapPx??x.gapPx}}function de(a,l){const r=l?a?.presets?.[l]:a?.defaultPreset?a?.presets?.[a.defaultPreset]:void 0,n=T(a?.defaults,r);return{drill:n.drill,prefill:n.prefill,dataComparison:n.dataComparison,exportExecution:n.exportExecution,loadParamOptions:n.loadParamOptions,...ce(n),pdfFontUrl:n.pdfFontUrl??x.pdfFontUrl,theme:{...J,...n.theme},messages:{...W,...n.messages},logger:n.logger??x.logger,preview:{overscanPages:j(n.preview?.overscanPages,1,10,!0),searchDebounceMs:j(n.preview?.searchDebounceMs,200,2e3)},xlsx:{...n.xlsx},editable:n.editable??!1,excelImport:n.excelImport??!1,toolbar:{...n.toolbar},interaction:{...n.interaction},preferences:n.preferences,assets:n.assets,guardChanges:n.guardChanges??!0,beforeDiscard:n.beforeDiscard,output:{...n.output},printOptions:n.printOptions}}function j(a,l,r,n=!1){if(a==null||!Number.isFinite(a))return l;const i=Math.max(0,Math.min(r,a));return n?Math.floor(i):i}function ue(a){const l={};return a.emptyAccent!=null&&(l["--mrp-empty-accent"]=a.emptyAccent),a.shellBg!=null&&(l["--mrp-shell-bg"]=a.shellBg),a.shellFg!=null&&(l["--mrp-shell-fg"]=a.shellFg),a.toolbarBg!=null&&(l["--mrp-toolbar-bg"]=a.toolbarBg),a.toolbarBorder!=null&&(l["--mrp-toolbar-border"]=a.toolbarBorder),a.toolbarFg!=null&&(l["--mrp-toolbar-fg"]=a.toolbarFg),a.btnFg!=null&&(l["--mrp-btn-fg"]=a.btnFg),a.btnBorder!=null&&(l["--mrp-btn-border"]=a.btnBorder),a.btnHoverBg!=null&&(l["--mrp-btn-hover-bg"]=a.btnHoverBg),a.btnHoverFg!=null&&(l["--mrp-btn-hover-fg"]=a.btnHoverFg),a.btnActiveBg!=null&&(l["--mrp-btn-active-bg"]=a.btnActiveBg),l}function fe(a){const l=e.inject($.MACH_REPORT_CONFIG_KEY,null),r=e.computed(()=>{const n=l?.value??null,i="defaults"in a||"presets"in a||"defaultPreset"in a?Y(a):{defaults:a,presets:{}};if(!n)return i;const f={...n.presets,...i.presets};for(const v of Object.keys(f))f[v]=T(T(n.presets[v],i.defaults),i.presets[v]);return{defaults:T(n.defaults,i.defaults),presets:f,defaultPreset:i.defaultPreset??n.defaultPreset}});e.provide($.MACH_REPORT_CONFIG_KEY,r)}function pe(){return e.inject($.MACH_REPORT_CONFIG_KEY,e.computed(()=>null))}class R extends Error{constructor(l,r,n){super(r),this.name="MachReportError",this.code=l,this.cause=n}}function me(a){return a instanceof R?{code:a.code,cause:a.cause}:{code:"render",cause:a}}function ve(a){if(a instanceof R)return a;if(a instanceof M.ReportParamValidationError)return new R("param",a.message,a);if(a instanceof M.ReportSourceError)return new R(a.code,a.message,a.cause);if(a instanceof Error){const l={params:"param",config:"config",validate:"validate",fetch:"fetch"},r=a.code;if(typeof r=="string"&&Object.prototype.hasOwnProperty.call(l,r))return new R(l[r],a.message,a)}return new R("fetch",a instanceof Error?a.message:"预览加载失败",a)}let ge=0;function be(){return`mrp-params-${++ge}`}function X(a,l,r){const n=(Array.isArray(l)?l.find(i=>i?.field===a.field)?.label:void 0)??a.field;return a.code==="required"?r.paramRequired.replace("{label}",n):(r.paramInvalid??"{label}:{message}").replace("{label}",n).replace("{message}",a.message)}function ye(a){const l=e.ref({}),r=e.ref(!1);function n(){const s={};for(const d of Array.isArray(a.defs.value)?a.defs.value:[])typeof d?.field=="string"&&Object.defineProperty(s,d.field,{value:a.params()[d.field]??d.defaultValue??"",writable:!0,enumerable:!0,configurable:!0});l.value=s,r.value=!1}n(),e.watch(a.defs,n),e.watch(a.reportIds,n),e.watch(()=>JSON.stringify(a.params()),n);const i=e.computed(()=>M.validateReportParams(a.defs.value,{...a.params(),...l.value})),f=e.computed(()=>!r.value&&i.value.issues.length>0&&i.value.issues.every(s=>s.code==="required"));function v(){const s=i.value;if(!s.ok){const b=s.issues[0];return{quiet:f.value,error:new R(b.code==="definition"?"config":"param",X(b,a.defs.value,a.messages()),{issues:s.issues})}}const d={...s.values},C=new Set(a.defs.value.filter(b=>b.defaultValue!==void 0).map(b=>b.field));for(const[b,u]of Object.entries(d))u===""&&!C.has(b)&&delete d[b];return{params:d,quiet:!1}}return{values:l,attempted:r,validation:i,pendingRequired:f,reset:n,query:v}}const q=100,he=32,Ee=6e4,ke=15e3;function Se(a){let l=0;const r=new Set;function n(i,f){if(!Array.isArray(i)||f>16||i.length>q)throw new Error("Invalid option response");const v=new Set;return Object.freeze(i.map(s=>{if(++l>q||!s||r.has(s)||typeof s.value!="string"||!s.value||s.value.length>1024||typeof s.label!="string"||s.label.length>1024||v.has(s.value))throw new Error("Invalid option response");return r.add(s),v.add(s.value),Object.freeze({label:s.label,value:s.value,...s.children===void 0?{}:{children:n(s.children,f+1)}})}))}return n(a,1)}function Q(a){const l=e.ref(""),r=e.shallowRef([]),n=e.ref(!1),i=e.ref(!1),f=e.computed(()=>Object.fromEntries((Array.isArray(a.def().dependsOn)?a.def().dependsOn:[]).map(w=>[w,a.values()[w]??""]))),v=e.computed(()=>Object.values(f.value).some(w=>!w.trim())),s=e.computed(()=>!a.loader()),d=new Map;let C,b,u=0;function y(){u++,C?.abort(),C=void 0,clearTimeout(b),n.value=!1}async function g(){y(),i.value=!1;const w=a.loader(),P=a.def();if(!w||!P.optionsSource||v.value||a.disabled()||!a.opened())return;const A={source:P.optionsSource,field:P.field,query:l.value.trim().slice(0,256),params:Object.freeze({...f.value}),limit:q},o=JSON.stringify(A),p=d.get(o);if(p&&Date.now()-p.at<Ee){d.delete(o),d.set(o,p),r.value=p.options;return}const t=u,c=new AbortController;C=c,n.value=!0;const h=setTimeout(()=>c.abort(),ke);try{const S=Se(await ae.waitForOutput(w(Object.freeze({...A,signal:c.signal})),c.signal));if(t!==u)return;for(r.value=S,d.delete(o),d.set(o,{at:Date.now(),options:S});d.size>he;)d.delete(d.keys().next().value)}catch{t===u&&(i.value=!0)}finally{clearTimeout(h),t===u&&(n.value=!1,C=void 0)}}function k(){y(),r.value=[],i.value=!1,b=setTimeout(()=>{g()},180)}return e.watch(l,k,{flush:"sync"}),e.watch([()=>a.def().field,()=>a.def().type,()=>a.def().optionsSource,()=>JSON.stringify(f.value),a.loader],()=>{d.clear(),l.value="",y(),r.value=[],i.value=!1,a.opened()&&g()},{flush:"sync"}),e.watch([a.opened,a.disabled],()=>{!a.opened()||a.disabled()?y():g()},{immediate:!0}),e.onBeforeUnmount(()=>{y(),d.clear()}),{query:l,options:r,loading:n,failed:i,waiting:v,missingLoader:s,request:g,cancel:y}}const we=["aria-labelledby"],Ce=["value","disabled","aria-label","aria-invalid","aria-describedby","aria-required","onChange"],Pe={value:""},Be=["value"],Ae=["id"],Oe=e.defineComponent({__name:"ReportCascaderParam",props:{def:{},value:{},values:{},loadOptions:{type:Function},messages:{},disabled:{type:Boolean},id:{},invalid:{type:Boolean}},emits:["change"],setup(a,{emit:l}){const r=a,n=l,i=Q({def:()=>r.def,values:()=>r.values,loader:()=>r.loadOptions,opened:()=>!0,disabled:()=>r.disabled===!0}),f=e.computed(()=>{const b=M.parseReportCascaderPath(r.value);if(b)return b;try{const u=JSON.parse(r.value);return Array.isArray(u)&&u.length<=16&&u[u.length-1]===null&&u.slice(0,-1).every(y=>typeof y=="string")?u.slice(0,-1):[]}catch{return[]}}),v=e.computed(()=>({...F,...r.messages})),s=e.computed(()=>{const b=[];let u=r.def.optionsSource?i.options.value:r.def.options??[];for(let y=0;y<16&&u.length;y++)b.push(u),u=u.find(g=>g.value===f.value[y])?.children??[];return b}),d=e.computed(()=>r.def.optionsSource?i.waiting.value?v.value.paramOptionsDependencies:i.missingLoader.value?v.value.paramOptionsMissingLoader:i.failed.value?v.value.paramOptionsFailed:i.loading.value?v.value.paramOptionsLoading:s.value.length?"":v.value.paramOptionsEmpty:"");function C(b,u){if(r.disabled)return;const y=f.value.slice(0,b);u&&y.push(u);const g=u?s.value[b]?.find(k=>k.value===u)?.children:s.value[b];n("change",y.length?g?.length?JSON.stringify([...y,null]):M.formatReportCascaderPath(y):"")}return(b,u)=>(e.openBlock(),e.createElementBlock("div",{class:"mrp-cascader",role:"group","aria-labelledby":`${a.id}-label`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(y,g)=>(e.openBlock(),e.createElementBlock("select",{key:g,class:"mrp-param-input",value:f.value[g]??"",disabled:a.disabled||e.unref(i).loading.value,"aria-label":`${a.def.label??a.def.field} · ${g+1}`,"aria-invalid":a.invalid||void 0,"aria-describedby":a.invalid?`${a.id}-error`:d.value?`${a.id}-status`:void 0,"aria-required":a.def.required||void 0,onChange:k=>C(g,k.target.value)},[e.createElementVNode("option",Pe,e.toDisplayString(a.def.placeholder??(a.messages.paramSelectPlaceholder??"请选择{label}").replace("{label}",a.def.label??a.def.field)),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y,k=>(e.openBlock(),e.createElementBlock("option",{key:k.value,value:k.value},e.toDisplayString(k.label),9,Be))),128))],40,Ce))),128)),d.value?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${a.id}-status`,role:"status"},[e.createTextVNode(e.toDisplayString(d.value),1),e.unref(i).failed.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:u[0]||(u[0]=(...y)=>e.unref(i).request&&e.unref(i).request(...y))},e.toDisplayString(a.messages.retry),1)):e.createCommentVNode("",!0)],8,Ae)):e.createCommentVNode("",!0)],8,we))}}),xe=N._export_sfc(Oe,[["__scopeId","data-v-734dde49"]]),Re=["id","value","aria-labelledby","aria-invalid","aria-required","aria-describedby","aria-expanded","aria-controls","aria-activedescendant","disabled","placeholder"],Me=["aria-label","disabled"],De=["aria-label","disabled"],Ne=["id"],Te=["id","aria-label","aria-busy","aria-multiselectable"],Fe=["id","aria-selected","disabled","onPointermove","onClick"],Le={key:0,"aria-hidden":"true",class:"mrp-option-check"},Ie={key:0},$e={key:0,role:"status"},qe=e.defineComponent({__name:"ReportRemoteParamSelect",props:{def:{},value:{},values:{},loadOptions:{type:Function},messages:{},disabled:{type:Boolean},id:{},invalid:{type:Boolean}},emits:["change"],setup(a,{emit:l}){const r=a,n=l,i=K({focusOnOpen:!1}),{root:f,panel:v,opened:s}=i,d=Q({def:()=>r.def,values:()=>r.values,loader:()=>r.loadOptions,opened:()=>s.value,disabled:()=>r.disabled===!0}),{query:C,options:b,loading:u,failed:y,waiting:g,missingLoader:k}=d,w=e.computed(()=>({...F,...r.messages})),P=e.computed(()=>r.def.type==="multiSelect"),A=e.computed(()=>P.value?M.parseReportParamSelection(r.value)??[]:[r.value]),o=e.computed(()=>r.def.optionsSource?b.value:(r.def.options??[]).filter(m=>`${m.label} ${m.value}`.toLocaleLowerCase().includes(C.value.toLocaleLowerCase())).slice(0,100)),p=new Map,t=e.computed(()=>P.value?A.value.map(m=>p.get(m)??r.def.options?.find(E=>E.value===m)?.label??m).join("、"):h.value||r.value),c=e.ref(0),h=e.ref(""),S=e.ref(),D=e.computed(()=>`${r.id}-options`),O=e.computed(()=>g.value?w.value.paramOptionsDependencies:r.def.optionsSource&&k.value?w.value.paramOptionsMissingLoader:y.value?w.value.paramOptionsFailed:u.value?w.value.paramOptionsLoading:o.value.length?"":w.value.paramOptionsEmpty);e.watch(()=>r.value,()=>{h.value=""}),e.watch(o,()=>{c.value=0}),e.watch(()=>[r.def.field,r.def.optionsSource,JSON.stringify(r.def.options)],()=>{p.clear(),h.value=""}),e.watch(s,m=>{m&&e.nextTick(()=>S.value?.focus())});function H(m){if(!(r.disabled||g.value||u.value||y.value)){p.set(m.value,m.label);for(const E of p.keys())E!==m.value&&!A.value.includes(E)&&p.delete(E);if(P.value){const E=A.value.includes(m.value)?A.value.filter(B=>B!==m.value):[...A.value,m.value];if(E.length>Math.min(r.def.maxItems??100,100))return;n("change",E.length?M.formatReportParamSelection(E):"")}else n("change",m.value),i.close();e.nextTick(()=>{h.value=m.label,S.value?.focus()})}}function G(m){m.isComposing||(s.value=!0,C.value=m.target.value)}function L(){!r.disabled&&!g.value&&(!r.def.optionsSource||!k.value)&&(C.value="",s.value=!0)}function Z(m){if(!(m.isComposing||m.keyCode===229)){if(m.key==="Escape"){s.value&&(m.preventDefault(),m.stopPropagation(),i.close());return}if(["ArrowUp","ArrowDown","Enter"].includes(m.key)){if(m.preventDefault(),m.stopPropagation(),!s.value){L();return}if(m.key==="Enter"){const E=o.value[c.value];E&&H(E);return}o.value.length&&(c.value=(c.value+(m.key==="ArrowDown"?1:-1)+o.value.length)%o.value.length,e.nextTick(()=>v.value?.querySelector(`[id="${D.value}-${c.value}"]`)?.scrollIntoView?.({block:"nearest"})))}}}function _(){r.disabled||(n("change",""),h.value="",i.close())}return(m,E)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"root",ref:f,class:"mrp-remote-param"},[e.createElementVNode("div",{class:e.normalizeClass(["mrp-remote-control",{"is-invalid":a.invalid}])},[e.createVNode(N._sfc_main,{name:"search",size:14}),e.createElementVNode("input",{id:a.id,ref_key:"input",ref:S,type:"text",role:"combobox",autocomplete:"off",value:e.unref(s)?e.unref(C):t.value,maxlength:256,"aria-labelledby":`${a.id}-label`,"aria-invalid":a.invalid||void 0,"aria-required":a.def.required||void 0,"aria-describedby":a.invalid?`${a.id}-error`:e.unref(g)||a.def.optionsSource&&e.unref(k)?`${a.id}-remote-status`:void 0,"aria-autocomplete":"list","aria-expanded":e.unref(s),"aria-controls":e.unref(s)?D.value:void 0,"aria-activedescendant":e.unref(s)&&o.value.length?`${D.value}-${c.value}`:void 0,disabled:a.disabled||e.unref(g)||!!a.def.optionsSource&&e.unref(k),placeholder:a.def.placeholder??(a.messages.paramSelectPlaceholder??"请选择{label}").replace("{label}",a.def.label??a.def.field),onClick:L,onInput:G,onCompositionend:G,onKeydown:Z},null,40,Re),a.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button","aria-label":w.value.paramOptionsClear,disabled:a.disabled,onClick:_},[e.createVNode(N._sfc_main,{name:"close",size:12})],8,Me)):(e.openBlock(),e.createElementBlock("button",{key:1,type:"button","aria-label":a.def.label??a.def.field,disabled:a.disabled||e.unref(g)||!!a.def.optionsSource&&e.unref(k),onClick:E[0]||(E[0]=B=>e.unref(s)?e.unref(i).close():L())},[e.createVNode(N._sfc_main,{name:"chevron-down",size:12})],8,De))],2),e.unref(g)||a.def.optionsSource&&e.unref(k)?(e.openBlock(),e.createElementBlock("small",{key:0,id:`${a.id}-remote-status`,role:"status"},e.toDisplayString(O.value),9,Ne)):e.createCommentVNode("",!0),e.unref(s)?(e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"panel",ref:v,class:"mrp-remote-options"},[e.createElementVNode("div",{id:D.value,role:"listbox","aria-label":a.def.label??a.def.field,"aria-busy":e.unref(u),"aria-multiselectable":P.value||void 0},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(B,I)=>(e.openBlock(),e.createElementBlock("button",{id:`${D.value}-${I}`,key:B.value,type:"button",role:"option",tabindex:"-1","aria-selected":A.value.includes(B.value),class:e.normalizeClass({active:I===c.value}),disabled:e.unref(u),onPointermove:ee=>c.value=I,onMousedown:E[1]||(E[1]=e.withModifiers(()=>{},["prevent"])),onClick:ee=>H(B)},[e.createElementVNode("span",null,[P.value?(e.openBlock(),e.createElementBlock("span",Le,e.toDisplayString(A.value.includes(B.value)?"✓":""),1)):e.createCommentVNode("",!0),e.createTextVNode(e.toDisplayString(B.label),1)]),B.label!==B.value?(e.openBlock(),e.createElementBlock("small",Ie,e.toDisplayString(B.value),1)):e.createCommentVNode("",!0)],42,Fe))),128))],8,Te),O.value?(e.openBlock(),e.createElementBlock("p",$e,[e.createTextVNode(e.toDisplayString(O.value),1),e.unref(y)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",onClick:E[2]||(E[2]=(...B)=>e.unref(d).request&&e.unref(d).request(...B))},e.toDisplayString(a.messages.retry),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],512)):e.createCommentVNode("",!0)],512))}}),Ve=N._export_sfc(qe,[["__scopeId","data-v-6ad41cf4"]]),Ue={key:0,class:"mrp-params-title"},He={class:"mrp-params-grid"},Ge=["id"],je={key:0,class:"mrp-param-star","aria-hidden":"true"},ze=["value","disabled","aria-labelledby","aria-invalid","aria-describedby","aria-required","onChange"],Ke=["disabled","hidden"],We=["value"],Je=["aria-labelledby"],Ye=["type","step","value","disabled","min","max","aria-label","aria-invalid","aria-describedby","aria-required","onInput"],Xe=["type","inputmode","maxlength","placeholder","value","disabled","min","max","step","aria-labelledby","aria-invalid","aria-describedby","aria-required","onInput"],Qe=["id"],Ze={key:1,class:"mrp-params-actions"},_e=["disabled"],ea=["disabled"],aa=e.defineComponent({__name:"ReportParamPanel",props:{defs:{},modelValue:{},messages:{},attempted:{type:Boolean},issues:{default:void 0},showActions:{type:Boolean,default:!0},showTitle:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},loadOptions:{type:Function,default:void 0}},emits:["update:modelValue","query","reset"],setup(a,{expose:l,emit:r}){const n=a,i=r,f=e.ref({...n.modelValue}),v=e.ref(null),s=be();e.watch(()=>n.modelValue,o=>{f.value={...o}});const d=e.computed(()=>n.issues??M.validateReportParams(n.defs,f.value).issues),C=e.computed(()=>(Array.isArray(n.defs)?n.defs:[]).filter(o=>o&&typeof o.field=="string").map((o,p)=>({def:o,id:`${s}-${p}`,label:o.label??o.field,value:f.value[o.field]??"",error:n.attempted?d.value.find(t=>t.field===o.field):void 0}))),b=e.computed(()=>{const o=new Map;for(const p of n.defs)for(const t of Array.isArray(p.dependsOn)?p.dependsOn:[]){const c=o.get(t)??[];c.push(p.field),o.set(t,c)}return o});function u(o,p){if(n.disabled||f.value[o]===p)return;f.value={...f.value,[o]:p};const t=new Set([o]),c=[o];for(let h=0;h<c.length;h++)for(const S of b.value.get(c[h])??[])t.has(S)||(f.value[S]="",t.add(S),c.push(S));i("update:modelValue",{...f.value})}function y(o){return o.type==="number"?"number":o.type==="date"||o.type==="month"?o.type:"text"}function g(o,p,t=!1){if(!t)return o.split("/")[p]??"";try{const c=JSON.parse(o);return Array.isArray(c)&&(typeof c[p]=="number"||typeof c[p]=="string")?String(c[p]):""}catch{return""}}function k(o,p,t){return t?!!g(o,0)!=!!g(o,1)?!g(o,p)||void 0:!0:void 0}function w(o,p,t){const c=o.type==="numberRange",h=f.value[o.field]??"",S=[g(h,0,c),g(h,1,c)];S[p]=t;const D=c?JSON.stringify(S.map(O=>O===""?null:Number(O))):S.join("/");u(o.field,S.every(O=>!O)?"":D)}function P(o){o.isComposing||i("query")}function A(){v.value?.querySelector('[aria-invalid="true"]')?.focus()}return l({focusInvalid:A}),(o,p)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"root",ref:v,class:"mrp-params"},[a.showTitle!==!1?(e.openBlock(),e.createElementBlock("span",Ue,e.toDisplayString(a.messages.paramsTitle),1)):e.createCommentVNode("",!0),e.createElementVNode("div",He,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.value,t=>(e.openBlock(),e.createElementBlock("label",{key:t.id,class:e.normalizeClass(["mrp-param",{"mrp-param-missing":!!t.error}])},[e.createElementVNode("span",{id:`${t.id}-label`,class:"mrp-param-label"},[e.createTextVNode(e.toDisplayString(t.label),1),t.def.required?(e.openBlock(),e.createElementBlock("i",je,"*")):e.createCommentVNode("",!0)],8,Ge),t.def.type==="cascader"?(e.openBlock(),e.createBlock(xe,{key:0,id:t.id,def:t.def,value:t.value,values:f.value,"load-options":a.loadOptions,messages:a.messages,disabled:a.disabled,invalid:!!t.error,onChange:c=>u(t.def.field,c)},null,8,["id","def","value","values","load-options","messages","disabled","invalid","onChange"])):t.def.optionsSource||t.def.type==="multiSelect"?(e.openBlock(),e.createBlock(Ve,{key:1,id:t.id,def:t.def,value:t.value,values:f.value,"load-options":a.loadOptions,messages:a.messages,disabled:a.disabled,invalid:!!t.error,onChange:c=>u(t.def.field,c)},null,8,["id","def","value","values","load-options","messages","disabled","invalid","onChange"])):(t.def.type??"text")==="select"?(e.openBlock(),e.createElementBlock("select",{key:2,class:"mrp-param-input",value:t.value,disabled:a.disabled,"aria-labelledby":`${t.id}-label`,"aria-invalid":t.error?!0:void 0,"aria-describedby":t.error?`${t.id}-error`:void 0,"aria-required":t.def.required||void 0,onChange:c=>u(t.def.field,c.target.value),onKeydown:e.withKeys(P,["enter"])},[e.createElementVNode("option",{value:"",disabled:t.def.required,hidden:t.def.required},e.toDisplayString(t.def.placeholder??(a.messages.paramSelectPlaceholder??"请选择{label}").replace("{label}",t.label)),9,Ke),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.def.options??[],c=>(e.openBlock(),e.createElementBlock("option",{key:c.value,value:c.value},e.toDisplayString(c.label),9,We))),128))],40,ze)):t.def.type==="dateRange"||t.def.type==="numberRange"?(e.openBlock(),e.createElementBlock("div",{key:3,class:"mrp-param-range",role:"group","aria-labelledby":`${t.id}-label`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.def.type==="numberRange"?[a.messages.paramNumberRangeStart??"最小值",a.messages.paramNumberRangeEnd??"最大值"]:[a.messages.paramRangeStart??"开始日期",a.messages.paramRangeEnd??"结束日期"],(c,h)=>(e.openBlock(),e.createElementBlock("input",{key:h,class:"mrp-param-input",type:t.def.type==="numberRange"?"number":"date",step:t.def.type==="numberRange"?"any":void 0,value:g(t.value,h,t.def.type==="numberRange"),disabled:a.disabled,min:t.def.min,max:t.def.max,"aria-label":`${t.label} · ${c}`,"aria-invalid":t.def.type==="numberRange"?!!t.error||void 0:k(t.value,h,t.error),"aria-describedby":t.error?`${t.id}-error`:void 0,"aria-required":t.def.required||void 0,onInput:S=>w(t.def,h,S.target.value),onKeydown:e.withKeys(P,["enter"])},null,40,Ye))),128))],8,Je)):(e.openBlock(),e.createElementBlock("input",{key:4,class:"mrp-param-input",type:y(t.def),inputmode:t.def.type==="year"?"numeric":void 0,maxlength:t.def.type==="year"?4:void 0,placeholder:t.def.placeholder??(a.messages.paramTextPlaceholder??"请输入{label}").replace("{label}",t.label),value:t.value,disabled:a.disabled,min:t.def.min,max:t.def.max,step:t.def.type==="number"?"any":void 0,"aria-labelledby":`${t.id}-label`,"aria-invalid":t.error?!0:void 0,"aria-describedby":t.error?`${t.id}-error`:void 0,"aria-required":t.def.required||void 0,onInput:c=>u(t.def.field,c.target.value),onKeydown:e.withKeys(P,["enter"])},null,40,Xe)),t.error?(e.openBlock(),e.createElementBlock("small",{key:5,id:`${t.id}-error`,class:"mrp-param-error",role:"status"},e.toDisplayString(e.unref(X)(t.error,a.defs,a.messages)),9,Qe)):e.createCommentVNode("",!0)],2))),128))]),a.showActions!==!1?(e.openBlock(),e.createElementBlock("div",Ze,[e.createElementVNode("button",{class:"mrp-nav mrp-param-query",type:"button",disabled:a.disabled,onClick:p[0]||(p[0]=t=>o.$emit("query"))},e.toDisplayString(a.messages.query),9,_e),e.createElementVNode("button",{class:"mrp-nav",type:"button",disabled:a.disabled,onClick:p[1]||(p[1]=t=>o.$emit("reset"))},e.toDisplayString(a.messages.reset),9,ea)])):e.createCommentVNode("",!0)],512))}}),ta=N._export_sfc(aa,[["__scopeId","data-v-e74206d7"]]);exports.DEFAULT_CALCULATION_MESSAGES=U;exports.DEFAULT_DATA_REVIEW_MESSAGES=V;exports.DEFAULT_MESSAGES=W;exports.DEFAULT_PRINT_MESSAGES=z;exports.DEFAULT_THEME=J;exports.MachReportError=R;exports.PARAM_OPTIONS_MESSAGES=F;exports.ReportParamPanel=ta;exports.SILENT_LOGGER=ie;exports.defineMachReportConfig=Y;exports.defineMachReportPreset=oe;exports.normalizeReportLoadError=ve;exports.printCalibration=te;exports.provideMachReportConfig=fe;exports.resolveCalculationMessages=re;exports.resolveConfig=de;exports.resolveDataReviewMessages=le;exports.snapshotPrintOptions=ne;exports.themeToCssVars=ue;exports.toErrorDetail=me;exports.useMachReportConfig=pe;exports.usePopover=K;exports.useReportParams=ye;
@@ -107,7 +107,15 @@ const ue = {
107
107
  calculationIncluded: "参与数值",
108
108
  calculationExcluded: "排除单元格",
109
109
  calculationEmpty: "选区没有可计算数值,计数为 0,其余结果为空。",
110
- calculationNoSelection: "先关闭设置并选择数据,再从底部工具栏打开选区计算。",
110
+ calculationNoSelection: "在旁边报表中点击起点,再 Shift + 点击终点选择数据。",
111
+ calculationSummary: "选区摘要",
112
+ calculationAdvanced: "高级计算",
113
+ calculationClose: "收起选区计算",
114
+ calculationPending: "正在计算选区…",
115
+ calculationSummarySum: "求和",
116
+ calculationSummaryAverage: "均值",
117
+ calculationSummaryCount: "数值",
118
+ calculationMixedColumns: "选区跨多列,请确认单位与口径后使用高级计算。",
111
119
  calculationSum: "求和 SUM",
112
120
  calculationAverage: "平均值 AVERAGE",
113
121
  calculationMin: "最小值 MIN",
@@ -176,7 +184,7 @@ const ke = {
176
184
  settingsAdvanced: "高级",
177
185
  settingsAdvancedDescription: "按需开启分析能力,保持日常阅读简洁。",
178
186
  settingsCalculations: "启用选区计算",
179
- settingsCalculationsDescription: "选取数值后计算求和、平均值或组合公式,仅用于本地分析。",
187
+ settingsCalculationsDescription: "开启后直接在报表旁选择数据,底部查看单列摘要,侧栏配置高级计算。",
180
188
  title: "报表预览",
181
189
  prevPage: "‹ 上一页",
182
190
  nextPage: "下一页 ›",