From d4784339fd8e72a3924cef963b2ecd30818370ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=8B=E4=BA=8E=E5=88=9D=E8=A7=81?= <752204717@qq.com> Date: Mon, 18 May 2026 11:46:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=88=97=E8=A1=A8=E6=98=BE?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/page/autoPromotionLogs.vue | 98 +++++++++-------------- 1 file changed, 36 insertions(+), 62 deletions(-) diff --git a/src/components/page/autoPromotionLogs.vue b/src/components/page/autoPromotionLogs.vue index c523790..19f5b41 100644 --- a/src/components/page/autoPromotionLogs.vue +++ b/src/components/page/autoPromotionLogs.vue @@ -17,7 +17,7 @@ {{ $t('autoPromotion.journal') }} : {{ currentJournalName }} - {{ config.initialized ? $t('autoPromotionLogs.editConfig') : $t('autoPromotionLogs.startConfig') }} + {{ $t('autoPromotionLogs.editConfig') }} -
+
- - - - -
+
@@ -270,30 +246,6 @@
- - import CkeditorMail from '@/components/page/components/email/CkeditorMail.vue'; import TemplateSelectorDialog from '@/components/page/components/email/TemplateSelectorDialog.vue'; -import AutoPromotionWizard from '@/components/page/components/autoPromotion/AutoPromotionWizard.vue'; import PromotionFactoryTaskDialog from '@/components/page/components/autoPromotion/PromotionFactoryTaskDialog.vue'; import PromotionDetailDrawer from '@/components/page/components/autoPromotion/PromotionDetailDrawer.vue'; // 这里假设你已经定义了 API 地址 @@ -373,8 +324,8 @@ const API = { }; export default { - name: 'autoPromotion', - components: { TemplateSelectorDialog, AutoPromotionWizard, PromotionFactoryTaskDialog, CkeditorMail, PromotionDetailDrawer }, + name: 'autoPromotionLogs', + components: { TemplateSelectorDialog, PromotionFactoryTaskDialog, CkeditorMail, PromotionDetailDrawer }, data() { return { handleRefreshList: [], @@ -482,12 +433,17 @@ export default { } }, watch: { + '$route.query.journal_id'(val) { + const s = String(val != null ? val : '').trim(); + if (s === String(this.selectedJournalId || '').trim()) return; + this.initPage(); + }, '$route.query.promotion_factory_id'(val) { const s = String(val != null ? val : '').trim(); if (s === String(this.headerPromotionFactoryId || '').trim()) return; this.headerPromotionFactoryId = s; this.routePromotionFactoryId = s; - if (this.config.initialized && this.selectedJournalId) { + if (this.selectedJournalId) { this.query.pageIndex = 1; this.fetchList(); } @@ -496,6 +452,28 @@ export default { created() { this.initPage(); }, + activated() { + const routeJid = String((this.$route.query && this.$route.query.journal_id) || '').trim(); + const curJid = String(this.selectedJournalId || '').trim(); + if (routeJid && routeJid !== curJid) { + this.initPage(); + return; + } + const routePid = String( + (this.$route.query && this.$route.query.promotion_factory_id) || + (this.$route.query && this.$route.query.taskId) || + '' + ).trim(); + const curPid = String(this.headerPromotionFactoryId || '').trim(); + if (routePid && routePid !== curPid) { + this.headerPromotionFactoryId = routePid; + this.routePromotionFactoryId = routePid; + if (this.selectedJournalId) { + this.query.pageIndex = 1; + this.fetchList(); + } + } + }, methods: { mapFactoryTaskTypeLabel(type) { const t = String(type || ''); @@ -635,10 +613,6 @@ export default { try { await this.fetchJournalDetail(); if (this.selectedJournalId) { - this.loadPromotionFields(this.selectedJournalId); - } - if (this.config.initialized) { - await this.fetchTemplates(); await this.fetchFactoryTasksForHeader(); await this.fetchList(); } @@ -764,7 +738,7 @@ export default { } }, async fetchFactoryTasksForHeader() { - if (!this.selectedJournalId || !this.config.initialized) { + if (!this.selectedJournalId) { this.factoryTaskOptions = []; return; }