瀏覽代碼

研报调用各类图表的合并

chenlei 2 周之前
父節點
當前提交
aace1d9c69
共有 2 個文件被更改,包括 52 次插入55 次删除
  1. 52 27
      src/views/report/components/reportInsert/ETAChart.vue
  2. 0 28
      src/views/report/components/reportInsert/Index.vue

+ 52 - 27
src/views/report/components/reportInsert/ETAChart.vue

@@ -2,6 +2,10 @@
 import {reactive, ref, watch} from 'vue'
 import apiChart from '@/api/chart'
 import apiFutureChart from '@/api/futureChart'
+import MyETAChart from './MyETAChart.vue'
+import ETAForumChart from './ETAForumChart.vue'
+import StatisticAnalysis from './StatisticAnalysis.vue'
+import PriceChart from './PriceChart.vue'
 import { showToast } from 'vant'
 import { vInfiniteScroll } from '@vueuse/components'
 import { useNoAuth } from '@/hooks/useNoAuth'
@@ -10,6 +14,7 @@ const emits=defineEmits(['update'])
 
 const searchVal=ref('')
 const onlyMe=ref(false)
+const activeType=ref('')
 
 const listState=reactive({
     page:1,
@@ -81,39 +86,59 @@ watch(
     }
 )
 
+function handleSelectChart(val){
+    emits('update',val)
+}
+
 </script>
 
 <template>
     <div class="ETA-chart-wrap">
-        <div class="sticky-box">
-            <van-search v-model="searchVal" shape="round" placeholder="请输入图表名称" @search="handleRefreshList" @clear="handleRefreshList" />
-            <van-checkbox v-model="onlyMe" @change="handleRefreshList">只看我的</van-checkbox>
-        </div>
-        <div class="content-box">
-            <div v-if="listState.list.length==0&&listState.finished">
-                <img class="list-empty-img" src="https://hzstatic.hzinsights.com/static/ETA_mobile/empty_img.png" alt="">
-                <p style="text-align:center;color:#999999;font-size:12px">暂无图表</p>
-            </div>
-            
-            <ul class="chart-list" v-infinite-scroll="[onLoadMore, { 'distance' : 10 }]">
-                <li 
-                    :class="['chart-item',selectChartList.includes(item.UniqueCode)&&'active']" 
-                    v-for="item in listState.list" 
-                    :key="item.ChartInfoId"
-                    @click="handleSelect(item)"
-                >
-                    <div class="van-multi-ellipsis--l2 title" v-html="item.SearchText"></div>
-                    <img :src="!item.HaveOperaAuth?useNoAuth().noAuthImg:item.ChartImage" alt="">
+        <van-tabs v-model:active="activeType">
+            <van-tab title="图库">
+                <div class="sticky-box">
+                    <van-search v-model="searchVal" shape="round" placeholder="请输入图表名称" @search="handleRefreshList" @clear="handleRefreshList" />
+                    <van-checkbox v-model="onlyMe" @change="handleRefreshList">只看我的</van-checkbox>
+                </div>
+                <div class="content-box">
+                    <div v-if="listState.list.length==0&&listState.finished">
+                        <img class="list-empty-img" src="https://hzstatic.hzinsights.com/static/ETA_mobile/empty_img.png" alt="">
+                        <p style="text-align:center;color:#999999;font-size:12px">暂无图表</p>
+                    </div>
+                    
+                    <ul class="chart-list" v-infinite-scroll="[onLoadMore, { 'distance' : 10 }]">
+                        <li 
+                            :class="['chart-item',selectChartList.includes(item.UniqueCode)&&'active']" 
+                            v-for="item in listState.list" 
+                            :key="item.ChartInfoId"
+                            @click="handleSelect(item)"
+                        >
+                            <div class="van-multi-ellipsis--l2 title" v-html="item.SearchText"></div>
+                            <img :src="!item.HaveOperaAuth?useNoAuth().noAuthImg:item.ChartImage" alt="">
 
-                    <svg v-if="selectChartList.includes(item.UniqueCode)" width="29" height="28" viewBox="0 0 29 28" fill="none" xmlns="http://www.w3.org/2000/svg">
-                        <path d="M14.5 28C22.232 28 28.5 21.732 28.5 14C28.5 6.26801 22.232 0 14.5 0C6.76801 0 0.5 6.26801 0.5 14C0.5 21.732 6.76801 28 14.5 28ZM7.5 14.413L8.913 13L12.5 16.586L20.085 9L21.5 10.415L12.5 19.414L7.5 14.413Z" fill="#0052D9"/>
-                    </svg>
+                            <svg v-if="selectChartList.includes(item.UniqueCode)" width="29" height="28" viewBox="0 0 29 28" fill="none" xmlns="http://www.w3.org/2000/svg">
+                                <path d="M14.5 28C22.232 28 28.5 21.732 28.5 14C28.5 6.26801 22.232 0 14.5 0C6.76801 0 0.5 6.26801 0.5 14C0.5 21.732 6.76801 28 14.5 28ZM7.5 14.413L8.913 13L12.5 16.586L20.085 9L21.5 10.415L12.5 19.414L7.5 14.413Z" fill="#0052D9"/>
+                            </svg>
 
-                </li>
-                <li class="chart-item" style="height:0;border:none;margin-bottom:0;padding:0"></li>
-                <li class="chart-item" style="height:0;border:none;margin-bottom:0;padding:0"></li>
-            </ul>
-        </div>
+                        </li>
+                        <li class="chart-item" style="height:0;border:none;margin-bottom:0;padding:0"></li>
+                        <li class="chart-item" style="height:0;border:none;margin-bottom:0;padding:0"></li>
+                    </ul>
+                </div>
+            </van-tab>
+            <van-tab title="我的图库">
+                <MyETAChart @update="handleSelectChart"/>
+            </van-tab>
+            <van-tab title="ETA社区图库">
+                <ETAForumChart @update="handleSelectChart"/>
+            </van-tab>
+            <van-tab title="统计分析">
+                <StatisticAnalysis @update="handleSelectChart"/>
+            </van-tab>
+            <van-tab title="商品价格曲线">
+                <PriceChart @update="handleSelectChart"/>
+            </van-tab>
+        </van-tabs>
     </div>
 </template>
 

+ 0 - 28
src/views/report/components/reportInsert/Index.vue

@@ -2,15 +2,11 @@
 import {ref} from 'vue'
 import {apiMenuList} from '@/api/user'
 import ETAChart from './ETAChart.vue'
-import MyETAChart from './MyETAChart.vue'
 import SandTableImg from './SandTableImg.vue'
 import SheetTableChart from './SheetTableChart.vue'
 import SemanticsImg from './SemanticsImg.vue'
 import MaterialImg from './reportMaterial/Index.vue'
-import StatisticAnalysis from './StatisticAnalysis.vue'
-import PriceChart from './PriceChart.vue'
 import BalanceSheet from './BalanceSheet/Index.vue'
-import ETAForumChart from './ETAForumChart.vue'
 
 const emits=defineEmits(['insert'])
 
@@ -26,16 +22,6 @@ const typeOpt=ref([
         label:'图库',
         path:''
     },
-    {
-        value:'批量插入',
-        label:'我的图库',
-        path:'mychart'
-    },
-    {
-        value:'etaForum',
-        label:'ETA社区图库',
-        path:'mychart'
-    },
     {
         value:'表格插入',
         label:'表格',
@@ -46,16 +32,6 @@ const typeOpt=ref([
         label:'平衡表',
         path:'sheetBalanceList'
     },
-    {
-        value:'统计分析',
-        label:'统计分析',
-        path:''
-    },
-    {
-        value:'商品价格曲线',
-        label:'商品价格曲线',
-        path:'commordityChartBase'
-    },
     {
         value:'沙盘插入',
         label:'逻辑图',
@@ -125,15 +101,11 @@ function handleConfirmInsert(){
         </ul>
         <div class="main-box">
             <ETAChart @update="handleSelectChart" v-if="activeType==='图表插入'"/>
-            <MyETAChart @update="handleSelectChart" v-if="activeType==='批量插入'"/>
             <SheetTableChart @update="handleSelectChart" v-if="activeType==='表格插入'"/>
             <SandTableImg @update="handleSelectChart" v-if="activeType==='沙盘插入'"/>
             <SemanticsImg @update="handleSelectChart" v-if="activeType==='语义分析插入'"/>
             <MaterialImg @update="handleSelectChart" v-if="activeType==='素材库'"/>
-            <StatisticAnalysis @update="handleSelectChart" v-if="activeType==='统计分析'"/>
-            <PriceChart @update="handleSelectChart" v-if="activeType==='商品价格曲线'"/>
             <BalanceSheet @update="handleSelectChart" @insert="handleConfirmInsert" v-if="activeType==='平衡表'"/>
-            <ETAForumChart @update="handleSelectChart" v-if="activeType==='etaForum'"/>
         </div>
         <div class="bot-btn" v-if="activeType!=='平衡表'">
             <van-button type="primary" block @click="handleConfirmInsert" :disabled="list.length===0">插入</van-button>