diff --git a/src/components/common/HtFeeMethodGrid.vue b/src/components/common/HtFeeMethodGrid.vue index a3a3cf7..6cfbeef 100644 --- a/src/components/common/HtFeeMethodGrid.vue +++ b/src/components/common/HtFeeMethodGrid.vue @@ -11,6 +11,8 @@ import { Pencil, Eraser } from 'lucide-vue-next' import { Button } from '@/components/ui/button' import { useTabStore } from '@/pinia/tab' import { useHtFeeMethodReloadStore } from '@/pinia/htFeeMethodReload' +import { matchPricingPaneReload, usePricingPaneReloadStore } from '@/pinia/pricingPaneReload' +import { ZXFW_RELOAD_SERVICE_KEY } from '@/lib/zxFwPricingSync' import { AlertDialogAction, AlertDialogCancel, @@ -89,6 +91,7 @@ const props = defineProps<{ }>() const tabStore = useTabStore() const htFeeMethodReloadStore = useHtFeeMethodReloadStore() +const pricingPaneReloadStore = usePricingPaneReloadStore() const createRowId = () => `fee-method-${Date.now()}-${Math.random().toString(16).slice(2, 8)}` const createDefaultRow = (name = ''): FeeMethodRow => ({ @@ -606,6 +609,18 @@ watch( } ) +watch( + () => pricingPaneReloadStore.seq, + (nextVersion, prevVersion) => { + + if (nextVersion === prevVersion || nextVersion === 0) return + const contractId = String(props.contractId || '').trim() + if (!contractId) return + if (!matchPricingPaneReload(pricingPaneReloadStore.lastEvent, contractId, ZXFW_RELOAD_SERVICE_KEY)) return + void loadFromIndexedDB() + } +) + watch([hasFixedNames], () => { if (!detailGridOptions.context) return detailGridOptions.context.fixedNames = hasFixedNames.value diff --git a/src/components/common/XmFactorGrid.vue b/src/components/common/XmFactorGrid.vue index f3b08fa..1d69337 100644 --- a/src/components/common/XmFactorGrid.vue +++ b/src/components/common/XmFactorGrid.vue @@ -39,6 +39,7 @@ const props = defineProps<{ dict: DictSource disableBudgetEditWhenStandardNull?: boolean excludeNotshowByZxflxs?: boolean + initBudgetValueFromStandard?: boolean }>() const detailRows = ref([]) @@ -108,7 +109,7 @@ const buildDefaultRows = (): FactorRow[] => { code: item.code, name: item.name, standardFactor, - budgetValue: null, + budgetValue: props.initBudgetValueFromStandard ? standardFactor : null, remark: '', path: buildCodePath(item.code, id, codeIdMap) } diff --git a/src/components/views/HtFeeRateMethodForm.vue b/src/components/views/HtFeeRateMethodForm.vue index 50fe38f..b06d7be 100644 --- a/src/components/views/HtFeeRateMethodForm.vue +++ b/src/components/views/HtFeeRateMethodForm.vue @@ -132,6 +132,7 @@ watch( watch( () => pricingPaneReloadStore.seq, (nextVersion, prevVersion) => { + console.log(pricingPaneReloadStore.seq) if (nextVersion === prevVersion || nextVersion === 0) return const contractId = String(props.contractId || '').trim() if (!contractId) return diff --git a/src/components/views/XmConsultCategoryFactor.vue b/src/components/views/XmConsultCategoryFactor.vue index cc307c9..87e350c 100644 --- a/src/components/views/XmConsultCategoryFactor.vue +++ b/src/components/views/XmConsultCategoryFactor.vue @@ -51,5 +51,6 @@ onActivated(() => { diff --git a/src/components/views/XmMajorFactor.vue b/src/components/views/XmMajorFactor.vue index e62a351..1a9035f 100644 --- a/src/components/views/XmMajorFactor.vue +++ b/src/components/views/XmMajorFactor.vue @@ -60,6 +60,7 @@ onActivated(() => { :dict="filteredMajorDict" :disable-budget-edit-when-standard-null="true" :exclude-notshow-by-zxflxs="true" + :init-budget-value-from-standard="true" /> diff --git a/src/pinia/pricingPaneReload.ts b/src/pinia/pricingPaneReload.ts index b9ff43a..53f393e 100644 --- a/src/pinia/pricingPaneReload.ts +++ b/src/pinia/pricingPaneReload.ts @@ -26,6 +26,7 @@ export const usePricingPaneReloadStore = defineStore('pricingPaneReload', { at: Date.now() } this.seq += 1 + console.log(this.seq) } } })