From 50e71f786d906313a512f4bfa207a7f0dde3dc17 Mon Sep 17 00:00:00 2001 From: wintsa <770775984@qq.com> Date: Thu, 25 Jun 2026 09:20:03 +0800 Subject: [PATCH] 1 --- ... Disclaimer(check by 张俊雄&蔡镇喜).docx | Bin 39362 -> 0 bytes public/related-files.png | Bin 0 -> 856 bytes .../workbench/components/HomeEntryView.vue | 240 +++++++++++------- src/i18n/locales/en-US.ts | 29 ++- src/i18n/locales/zh-CN.ts | 29 ++- 5 files changed, 190 insertions(+), 108 deletions(-) delete mode 100644 Budget Tool Disclaimer(check by 张俊雄&蔡镇喜).docx create mode 100644 public/related-files.png diff --git a/Budget Tool Disclaimer(check by 张俊雄&蔡镇喜).docx b/Budget Tool Disclaimer(check by 张俊雄&蔡镇喜).docx deleted file mode 100644 index 73a9ee6778e2c43ba99769db43eab216de336db5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39362 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 AkZDBoeXd@B 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 diff --git a/public/related-files.png b/public/related-files.png new file mode 100644 index 0000000000000000000000000000000000000000..e4d5677266e791526204f614e0580e7d13f41f8a GIT binary patch literal 856 zcmV-e1E>6nP)Px#32;bRa{vGi!~g&e!~vBn4jTXf02y>eSaefwW^{L9a%BKbX=8G4b8lvJAWvpy zX=7!7?KN=#00P)aL_t(YOSP3hXj4%X#*_5Dwh}|yxF{|*+M&`xNKJ{fh*qP-kR@oq z3gV!XgNisF`ua>vb+!=LVYl1odV70I)q`}#Bv@=V+q=QR!E=?3H}DbI-K=hmMx%F`cU0CI z2db3pHf8KU>7Gm`GX?NS9WZRPd_J$Uk%4SUtdq%}HcY2aCuy*>u>Og{FN7Y*J4mHc zip%9H%AQSkMfK1%zO7IwBq8C2#1!#`Y&N?O|F&6R8;p-qt_zj&eZ~*{3t(x@Lu<-6 z4fFGLHC{*Nh9SDb=x{h@+0-46$GbcpPX^HE)Okc|kBVHQH8ukJ9s5u$7DfI&zQmv9YaI ztF@ocI}LDu4LF%h&WFQcz0Igq9#^|iB!=V_ST4z&Pr3{KNcaE3xf(X}2!!mlE< -import { computed, onBeforeUnmount, onMounted, ref } from 'vue' +import { computed, onBeforeUnmount, onMounted, ref, watch } from 'vue' import { useI18n } from 'vue-i18n' -import { Card, CardDescription, CardHeader, CardTitle } from '@/components/ui/card' import { Button } from '@/components/ui/button' import { useTabStore } from '@/pinia/tab' import { useKvStore } from '@/pinia/kv' @@ -82,12 +81,13 @@ const PROJECT_INFO_KEY = 'xm-base-info-v1' const PROJECT_CONSULT_CATEGORY_FACTOR_KEY = 'xm-consult-category-factor-v1' const PROJECT_MAJOR_FACTOR_KEY = 'xm-major-factor-v1' const PROJECT_SCALE_KEY = 'xm-info-v3' +const FILE_LEDGER_URL = 'https://www.lianzhong.com.cn/file?fileNo=24' const getActiveProjectId = () => readCurrentProjectId() const tabStore = useTabStore() const kvStore = useKvStore() const uiPrefsStore = useUiPrefsStore() -const { t, locale } = useI18n() +const { t, tm, locale } = useI18n() const projectDialogOpen = ref(false) const projectIndustry = ref(String(industryTypeList[0]?.id || '')) const projectSubmitting = ref(false) @@ -105,6 +105,8 @@ const existingProjectLoading = ref(false) const hasExistingProjects = ref(false) const openedProjectIds = ref([]) let existingProjectPollTimer: ReturnType | null = null +const heroTitleIndex = ref(0) +const heroDescIndex = ref(0) const projectIndustryLabel = computed(() => { const target = String(projectIndustry.value || '').trim() if (!target) return '' @@ -186,6 +188,10 @@ const openProjectCalc = async () => { }) } +const openRelatedFiles = () => { + window.open(FILE_LEDGER_URL, '_blank', 'noopener') +} + const redirectToDisclaimerPage = () => { const returnUrl = window.location.href window.location.href = buildDisclaimerUrl(returnUrl) @@ -457,12 +463,80 @@ const openDisclaimerPage = () => { window.open(href, '_blank', 'noopener') } +const resolveLocalizedStringArray = (value: unknown) => { + if (!Array.isArray(value)) return [] + return value.filter((item): item is string => typeof item === 'string' && item.trim().length > 0) +} + +const heroTitleOptions = computed(() => + resolveLocalizedStringArray(tm('home.cards.heroTitles')) +) +const heroDescOptions = computed(() => + resolveLocalizedStringArray(tm('home.cards.heroDescs')) +) +const heroTitleText = computed(() => heroTitleOptions.value[heroTitleIndex.value] || '') +const heroDescText = computed(() => heroDescOptions.value[heroDescIndex.value] || '') + +const pickRandomIndex = (length: number) => { + if (length <= 1) return 0 + return Math.floor(Math.random() * length) +} + +const refreshHeroCopy = () => { + heroTitleIndex.value = pickRandomIndex(heroTitleOptions.value.length) + heroDescIndex.value = pickRandomIndex(heroDescOptions.value.length) +} + +const homeActionCards = [ + { + key: 'projectBudget', + desc: 'projectBudgetDesc', + action: 'enter', + icon: 'project', + iconWrapClass: 'border-blue-100 bg-blue-50/80 text-blue-600', + iconClass: 'h-5 w-5', + clickFunc: openProjectCalc, + showExistingAction: true + }, + { + key: 'quickCalc', + desc: 'quickCalcDesc', + action: 'enter', + icon: 'quick', + iconWrapClass: 'border-amber-100 bg-amber-50/80 text-amber-600', + iconClass: 'h-10 w-10', + clickFunc: openQuickCalc, + showExistingAction: false + }, + { + key: 'importData', + desc: 'importDataDesc', + action: 'pickFile', + icon: 'import', + iconWrapClass: 'border-emerald-100 bg-emerald-50/80 text-emerald-600', + iconClass: 'h-5 w-5', + clickFunc: openHomeImport, + showExistingAction: false + }, + { + key: 'file', + desc: 'fileDataDesc', + action: 'openFileSystem', + icon: 'files', + iconWrapClass: 'border-emerald-100 bg-emerald-50/80 text-emerald-600', + iconClass: 'h-5 w-5', + clickFunc: openRelatedFiles, + showExistingAction: false + } +] as const + onMounted(() => { syncDisclaimerRequirement() void refreshExistingProjects() void loadProjectDefaults() void loadQuickDefaults() void replayPendingDisclaimerAction() + refreshHeroCopy() window.addEventListener('focus', handleHomeWindowFocus) document.addEventListener('visibilitychange', handleHomeVisibilityChange) try { @@ -490,11 +564,18 @@ onBeforeUnmount(() => { window.removeEventListener('focus', handleHomeWindowFocus) document.removeEventListener('visibilitychange', handleHomeVisibilityChange) }) + +watch( + () => locale.value, + () => { + refreshHeroCopy() + } +)