From 13b03e016e1a0f0e07e01d95aab6d1db6bc8b250 Mon Sep 17 00:00:00 2001 From: wintsa <770775984@qq.com> Date: Sat, 28 Feb 2026 16:34:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=A4=A7=E9=83=A8=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/views/Ht.vue | 6 +- src/components/views/Xm.vue | 10 +- .../views/XmConsultCategoryFactor.vue | 14 + src/components/views/XmFactorGrid.vue | 331 ++++++++++++++++++ src/components/views/XmMajorFactor.vue | 12 + src/components/views/htInfo.vue | 58 ++- .../views/pricingView/HourlyPricingPane.vue | 269 ++++++++++---- .../InvestmentScalePricingPane.vue | 113 ++++-- .../pricingView/LandScalePricingPane.vue | 81 +++-- .../views/pricingView/WorkloadPricingPane.vue | 101 ++++-- src/components/views/xmInfo.vue | 52 ++- src/components/views/zxFw.vue | 150 ++++---- src/layout/tab.vue | 85 +++-- src/lib/diyAgGridOptions.ts | 19 +- src/lib/numberFormat.ts | 19 + src/lib/pricingMethodTotals.ts | 317 +++++++++++++++++ src/lib/xmFactorDefaults.ts | 39 +++ src/lib/zwArchive.ts | 99 ++++++ src/lib/zxFwPricingSync.ts | 56 +++ src/sql.ts | 6 +- src/style.css | 66 +++- 21 files changed, 1628 insertions(+), 275 deletions(-) create mode 100644 src/components/views/XmConsultCategoryFactor.vue create mode 100644 src/components/views/XmFactorGrid.vue create mode 100644 src/components/views/XmMajorFactor.vue create mode 100644 src/lib/numberFormat.ts create mode 100644 src/lib/pricingMethodTotals.ts create mode 100644 src/lib/xmFactorDefaults.ts create mode 100644 src/lib/zwArchive.ts create mode 100644 src/lib/zxFwPricingSync.ts diff --git a/src/components/views/Ht.vue b/src/components/views/Ht.vue index fce5637..e3e6b40 100644 --- a/src/components/views/Ht.vue +++ b/src/components/views/Ht.vue @@ -25,10 +25,7 @@ interface ContractItem { } const STORAGE_KEY = 'ht-card-v1' -const formStore = localforage.createInstance({ - name: 'jgjs-pricing-db', - storeName: 'form_state' -}) + const tabStore = useTabStore() @@ -221,7 +218,6 @@ const removeRelatedTabsByContractId = (contractId: string) => { const cleanupContractRelatedData = async (contractId: string) => { await Promise.all([ removeForageKeysByContractId(localforage, contractId), - removeForageKeysByContractId(formStore as any, contractId) ]) } diff --git a/src/components/views/Xm.vue b/src/components/views/Xm.vue index 0937c68..6c6c6d8 100644 --- a/src/components/views/Xm.vue +++ b/src/components/views/Xm.vue @@ -14,9 +14,17 @@ import TypeLine from '@/layout/typeLine.vue' const xmView = markRaw(defineAsyncComponent(() => import('@/components/views/xmInfo.vue'))) const htView = markRaw(defineAsyncComponent(() => import('@/components/views/Ht.vue'))) +const consultCategoryFactorView = markRaw( + defineAsyncComponent(() => import('@/components/views/XmConsultCategoryFactor.vue')) +) +const majorFactorView = markRaw( + defineAsyncComponent(() => import('@/components/views/XmMajorFactor.vue')) +) const xmCategories = [ { key: 'info', label: '基础信息', component: xmView }, - { key: 'contract', label: '合同段管理', component: htView } + { key: 'contract', label: '合同段管理', component: htView }, + { key: 'consult-category-factor', label: '咨询分类系数', component: consultCategoryFactorView }, + { key: 'major-factor', label: '工程专业系数', component: majorFactorView } ] diff --git a/src/components/views/XmConsultCategoryFactor.vue b/src/components/views/XmConsultCategoryFactor.vue new file mode 100644 index 0000000..5d15b87 --- /dev/null +++ b/src/components/views/XmConsultCategoryFactor.vue @@ -0,0 +1,14 @@ + + + diff --git a/src/components/views/XmFactorGrid.vue b/src/components/views/XmFactorGrid.vue new file mode 100644 index 0000000..46f7fe1 --- /dev/null +++ b/src/components/views/XmFactorGrid.vue @@ -0,0 +1,331 @@ + + + diff --git a/src/components/views/XmMajorFactor.vue b/src/components/views/XmMajorFactor.vue new file mode 100644 index 0000000..235d10c --- /dev/null +++ b/src/components/views/XmMajorFactor.vue @@ -0,0 +1,12 @@ + + + diff --git a/src/components/views/htInfo.vue b/src/components/views/htInfo.vue index 76134b6..a502947 100644 --- a/src/components/views/htInfo.vue +++ b/src/components/views/htInfo.vue @@ -1,11 +1,12 @@