123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- <template>
- <div class="outer-container">
- <TopParentAsin></TopParentAsin>
- <div class="filters">
- <DateRangePicker v-model="dateRange"></DateRangePicker>
- <div v-show="activeName == 'trendOverview'">
- <el-select v-model="filter1" placeholder="Select" style="width: 240px; margin-right: 8px">
- <el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value" />
- </el-select>
- <el-select v-model="filter2" placeholder="Select" style="width: 240px">
- <el-option v-for="item in options2" :key="item.value" :label="item.label" :value="item.value" />
- </el-select>
- </div>
- </div>
- <div>
- <el-tabs v-model="activeName" type="border-card" class="chart-tabs">
- <!-- <DateRangePicker v-model="dateRange" style="position: absolute; right: 0px; top: -10px;"></DateRangePicker> -->
- <el-tab-pane label="趋势总览" name="trendOverview">
- <TrendOverview @updateList="handleUpdate"></TrendOverview>
- <DataTable></DataTable>
- </el-tab-pane>
- <el-tab-pane label="广告优化" name="adOptimization">广告优化</el-tab-pane>
- <el-tab-pane label="销售概览" name="salesOverview" lazy>
- <SalesOverview></SalesOverview>
- </el-tab-pane>
- <el-tab-pane label="竞品推荐" name="cpRecommendations">
- <CpRecommendations></CpRecommendations>
- </el-tab-pane>
- </el-tabs>
- </div>
- </div>
- </template>
- <script setup lang="ts">
- import { storeToRefs } from 'pinia'
- import { provide, ref } from 'vue'
- import DataTable from './components/DataTable/index.vue'
- import TopParentAsin from './components/TopParentAsin/index.vue'
- import TrendOverview from './components/TrendOverview/index.vue'
- import SalesOverview from './components/SalesOverview/index.vue'
- import CpRecommendations from './components/CpRecommendations/index.vue'
- import DateRangePicker from '/@/components/DateRangePicker/index.vue'
- import { usePublicData } from '/@/stores/publicData'
- import { useShopInfo } from '/@/stores/shopInfo'
- // 店铺信息
- const shopInfo = useShopInfo()
- const { profile } = storeToRefs(shopInfo)
- // 公共数据
- const publicData = usePublicData()
- const { dateRange } = storeToRefs(publicData)
- provide('dateRange', dateRange)
- provide('profile', profile)
- const activeName = ref('trendOverview')
- const filter1 = ref('')
- const options1 = [
- {
- value: 'Option1',
- label: 'Option1',
- },
- {
- value: 'Option2',
- label: 'Option2',
- },
- ]
- const filter2 = ref('')
- const options2 = [
- {
- value: 'Option1',
- label: 'Option1',
- },
- {
- value: 'Option2',
- label: 'Option2',
- },
- ]
- const updatedData = ref([])
- provide('tableData', updatedData)
- function handleUpdate(value) {
- updatedData.value = value
- }
- </script>
- <style scoped>
- .outer-container {
- padding: 5px 10px 0 10px;
- }
- .filters {
- display: flex;
- gap: 8px;
- margin-top: 5px;
- }
- </style>
|