From 99684c04f2b6122c2ef34022c6e7df2eb2c5d6ee Mon Sep 17 00:00:00 2001 From: wintsa <770775984@qq.com> Date: Fri, 10 Apr 2026 16:24:44 +0800 Subject: [PATCH] =?UTF-8?q?20260410=E7=BD=97=E6=80=BB=E6=96=B0=E9=9C=80?= =?UTF-8?q?=E6=B1=82=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HomeHeroBrandTicker.vue | 92 +++++++++++++++++++ HwzPromoBanner.vue | 75 +++++++++++++++ public/disclaimer.html | 86 +++++++++++++++++ .../ht/components/HtContractSummary.vue | 3 + src/features/ht/components/htInfo.vue | 8 +- src/features/ht/components/zxFw.vue | 5 +- .../components/InvestmentScalePricingPane.vue | 5 +- .../components/WorkloadPricingPane.vue | 3 + .../shared/components/HourlyFeeGrid.vue | 3 + src/features/shared/components/HtFeeGrid.vue | 3 + .../shared/components/HtFeeMethodGrid.vue | 1 + .../components/ServiceCheckboxSelector.vue | 59 ++++++++++-- .../shared/components/xmCommonAgGrid.vue | 29 +++++- .../workbench/components/HomeEntryView.vue | 84 ++++++----------- src/features/xm/components/info.vue | 43 ++++++++- src/i18n/locales/en-US.ts | 36 ++++---- src/i18n/locales/zh-CN.ts | 54 ++++++----- src/layout/tab.vue | 7 +- src/lib/agGridResetHeader.ts | 32 ++++++- src/lib/pricingScaleColumns.ts | 6 ++ src/style.css | 17 ++++ 21 files changed, 534 insertions(+), 117 deletions(-) create mode 100644 HomeHeroBrandTicker.vue create mode 100644 HwzPromoBanner.vue create mode 100644 public/disclaimer.html diff --git a/HomeHeroBrandTicker.vue b/HomeHeroBrandTicker.vue new file mode 100644 index 0000000..04c185b --- /dev/null +++ b/HomeHeroBrandTicker.vue @@ -0,0 +1,92 @@ + + + + + diff --git a/HwzPromoBanner.vue b/HwzPromoBanner.vue new file mode 100644 index 0000000..79ce69e --- /dev/null +++ b/HwzPromoBanner.vue @@ -0,0 +1,75 @@ + + + diff --git a/public/disclaimer.html b/public/disclaimer.html new file mode 100644 index 0000000..1cce9b2 --- /dev/null +++ b/public/disclaimer.html @@ -0,0 +1,86 @@ + + + + + + 免责声明 + + + +
+
+

DISCLAIMER

+

免责声明

+
+

本计算工具由众为工程咨询有限公司提供免费技术支持。

+

众为工程咨询有限公司

+
+
+ + diff --git a/src/features/ht/components/HtContractSummary.vue b/src/features/ht/components/HtContractSummary.vue index 8677012..f3db7e6 100644 --- a/src/features/ht/components/HtContractSummary.vue +++ b/src/features/ht/components/HtContractSummary.vue @@ -302,6 +302,9 @@ const columnDefs: ColDef[] = [ minWidth: 90, maxWidth: 140, colSpan: params => (params.data?.rowType === 'total' ? 2 : 1), + cellClassRules: { + 'ag-summary-label-cell': params => params.data?.rowType === 'total' + }, valueFormatter: params => { if (params.data?.rowType === 'total') return params.data.name || t('htSummary.total') return typeof params.value === 'string' ? params.value : '' diff --git a/src/features/ht/components/htInfo.vue b/src/features/ht/components/htInfo.vue index e414ed0..cbc963c 100644 --- a/src/features/ht/components/htInfo.vue +++ b/src/features/ht/components/htInfo.vue @@ -16,10 +16,16 @@ const XM_DB_KEY = computed(() => { }) const BASE_INFO_KEY = computed(() => props.projectInfoKey || 'xm-base-info-v1') const { t } = useI18n() +const titleText = computed(() => `${t('htInfo.scaleDetailTitle')}:${t('htInfo.scaleDetailHint')}`) diff --git a/src/features/ht/components/zxFw.vue b/src/features/ht/components/zxFw.vue index 4aae2e7..1e2a46b 100644 --- a/src/features/ht/components/zxFw.vue +++ b/src/features/ht/components/zxFw.vue @@ -50,8 +50,8 @@ const SERVICE_SELECTOR_ROWS: string[][] = [ ['0', '2', '3', '4'], ['6', '7', '10', '8', '9', '11', '12', '13'], ['37', '38', '39', '40'], - ['21', '22', '23', '24', '25', '26'], ['15', '16', '17', '18', '19', '20'], + ['21', '22', '23', '24', '25', '26'], ['29', '30', '31', '32', '33', '34', '35', '36'], ['41', '42', '43', '44'] ] @@ -627,6 +627,9 @@ const columnDefs: ColDef[] = [ field: 'code', minWidth: 50, maxWidth: 100, + cellClassRules: { + 'ag-summary-label-cell': params => Boolean(params.data && isFixedRow(params.data)) + }, valueGetter: params => { if (!params.data) return '' if (isFixedRow(params.data)) return t('htZxFw.subtotal') diff --git a/src/features/pricing/components/InvestmentScalePricingPane.vue b/src/features/pricing/components/InvestmentScalePricingPane.vue index 9e45e1f..f74c9a6 100644 --- a/src/features/pricing/components/InvestmentScalePricingPane.vue +++ b/src/features/pricing/components/InvestmentScalePricingPane.vue @@ -1191,7 +1191,10 @@ const processCellFromClipboard = (params: any) => {
-

{{ t('pricingPane.investment.title') }}

+
+

{{ t('pricingPane.investment.title') }}

+ {{ t('pricingPane.investment.titleHint') }} +
{{ t('pricingPane.projectCount') }} [] = [ width: 120, pinned: 'left', colSpan: params => (params.node?.rowPinned ? 2 : 1), + cellClassRules: { + 'ag-summary-label-cell': params => Boolean(params.node?.rowPinned) + }, valueFormatter: params => (params.node?.rowPinned ? t('workloadPricing.total') : params.value || '') }, { diff --git a/src/features/shared/components/HourlyFeeGrid.vue b/src/features/shared/components/HourlyFeeGrid.vue index 8e3744d..472d051 100644 --- a/src/features/shared/components/HourlyFeeGrid.vue +++ b/src/features/shared/components/HourlyFeeGrid.vue @@ -376,6 +376,9 @@ const columnDefs: (ColDef | ColGroupDef)[] = [ width: 100, pinned: 'left', colSpan: params => (params.node?.rowPinned ? 2 : 1), + cellClassRules: { + 'ag-summary-label-cell': params => Boolean(params.node?.rowPinned) + }, valueFormatter: params => (params.node?.rowPinned ? t('hourlyFeeGrid.total') : params.value || '') }, { diff --git a/src/features/shared/components/HtFeeGrid.vue b/src/features/shared/components/HtFeeGrid.vue index 11b27a7..c4e2b88 100644 --- a/src/features/shared/components/HtFeeGrid.vue +++ b/src/features/shared/components/HtFeeGrid.vue @@ -279,6 +279,9 @@ const columnDefs: ColDef[] = [ : typeof params.node?.rowIndex === 'number' ? params.node.rowIndex + 1 : '', + cellClassRules: { + 'ag-summary-label-cell': params => isSubtotalRow(params.data) + }, colSpan: params => (isSubtotalRow(params.data) ? 2 : 1) }, { diff --git a/src/features/shared/components/HtFeeMethodGrid.vue b/src/features/shared/components/HtFeeMethodGrid.vue index 780f336..0fea023 100644 --- a/src/features/shared/components/HtFeeMethodGrid.vue +++ b/src/features/shared/components/HtFeeMethodGrid.vue @@ -498,6 +498,7 @@ const columnDefs: ColDef[] = [ ? '' : 'editable-cell-line', cellClassRules: { + 'ag-summary-label-cell': params => isSummaryRow(params.data), 'editable-cell-empty': params => params.value == null || params.value === '' } }, diff --git a/src/features/shared/components/ServiceCheckboxSelector.vue b/src/features/shared/components/ServiceCheckboxSelector.vue index 2b515ae..6a6bcfa 100644 --- a/src/features/shared/components/ServiceCheckboxSelector.vue +++ b/src/features/shared/components/ServiceCheckboxSelector.vue @@ -1,5 +1,5 @@