Fan преди 3 седмици
родител
ревизия
ccd56e63da
променени са 2 файла, в които са добавени 15 реда и са изтрити 2 реда
  1. 5 1
      ui/smarttrade-platform/src/components/layout/TopBar.vue
  2. 10 1
      ui/smarttrade-platform/src/views/MarketingView.vue

+ 5 - 1
ui/smarttrade-platform/src/components/layout/TopBar.vue

@@ -567,7 +567,7 @@
     </transition>
   </header>
 
-  <AddMarketing ref="addMarketingRef" />
+  <AddMarketing ref="addMarketingRef" @refresh="handleMarketingRefresh" />
 
   <div v-if="showSettings" class="modal-overlay" @click.self="showSettings = false">
     <div class="modal create-modal" style="max-width: 800px;">
@@ -709,6 +709,10 @@ const pageTitle = computed(() => {
 })
 
 const addMarketingRef = ref()
+const handleMarketingRefresh = () => {
+  window.dispatchEvent(new CustomEvent('marketing:refresh'))
+}
+
 const openModal = (type) => {
   showQuickActions.value = false
   addMarketingRef.value.open()

+ 10 - 1
ui/smarttrade-platform/src/views/MarketingView.vue

@@ -731,7 +731,7 @@
 </template>
 
 <script setup>
-import { ref, computed, onMounted } from 'vue'
+import { ref, computed, onMounted, onBeforeUnmount } from 'vue'
 import { ElMessageBox } from 'element-plus'
 import AddMarketing from '../components/addMarketing.vue'
 import { getMarketingList, setMarketingStatus, marketingAnalysis } from '../api/marketing'
@@ -773,9 +773,18 @@ const openCreateModal = () => {
 }
 
 const marketingList = ref([])
+const handleExternalMarketingRefresh = () => {
+  getData()
+}
+
 onMounted(() => {
   getData()
   getStatsData()
+  window.addEventListener('marketing:refresh', handleExternalMarketingRefresh)
+})
+
+onBeforeUnmount(() => {
+  window.removeEventListener('marketing:refresh', handleExternalMarketingRefresh)
 })
 
 const loading = ref(false)