浏览代码

Merge branch 'ch/eta_forum_3.0' of eta_front/eta_mobile_front into debug

leichen 3 周之前
父节点
当前提交
2a8c02664c

+ 2 - 2
src/api/chart.js

@@ -112,8 +112,8 @@ export default{
     /**
      * 获取ETA图库分类数据
      */
-    ETAChartClassifyList:()=>{
-        return get('/datamanage/chart_classify/items',{})
+    ETAChartClassifyList:params=>{
+        return get('/datamanage/chart_classify/items',params)
     },
     /**
      * ETA图库图表另存为

+ 35 - 18
src/views/chartETA/ChartDetail.vue

@@ -618,29 +618,46 @@ function openAddToMyETADialog(){
     isShowAddToMyETADialog.value = true
 }
 //删除图表
-function deleteChart(){
+async function deleteChart(){
+    const res = await apiChart.deleteCheck({
+        ChartClassifyId:Number(routeQueryData.chartClassifyId),
+        ChartInfoId:Number(routeQueryData.id),
+    })
+    if(res.Ret!==200) return
+    const hintTextMap = {
+        0:'确定删除当前分类吗?',
+        1:'该分类下关联图表不可删除!',
+        2:'确认删除当前分类及包含的子分类吗?',
+        3:'删除后,该图表将从ETA投研资源库同步删除,影响客户的查看权限,是否确认删除?'
+    }
     showDialog({
         title: '提示',
-        message: '删除后该图表将不能再引用,确认删除吗?',
-        showCancelButton:true
+        message: hintTextMap[res.Data.DeleteStatus||0],
+        showCancelButton:res.Data.DeleteStatus!==1
     }).then(() => {
-        apiChart.deleteClassify({
-            ChartClassifyId:Number(routeQueryData.chartClassifyId),
-            ChartInfoId:Number(routeQueryData.id),
-        }).then(res=>{
-            if(res.Ret===200){
-                cachedViewsStore.removeCaches('ChartETAList')
-                cachedViewsStore.removeCaches('ChartETASearch')
-                showToast('删除成功')
-                setTimeout(() => {
-                    router.back()
-                }, 1000);
-            }
-        })
-    }).catch(()=>{
-        
+        if(res.Data.DeleteStatus!==1){
+            handleDeleteRequest()
+        }
+    }).catch(()=>{})
+}
+
+// 删除请求
+function handleDeleteRequest(){
+    apiChart.deleteClassify({
+        ChartClassifyId:Number(routeQueryData.chartClassifyId),
+        ChartInfoId:Number(routeQueryData.id),
+    }).then(res=>{
+        if(res.Ret===200){
+            cachedViewsStore.removeCaches('ChartETAList')
+            cachedViewsStore.removeCaches('ChartETASearch')
+            showToast('删除成功')
+            setTimeout(() => {
+                router.back()
+            }, 1000);
+        }
     })
 }
+
 // 保存至素材库
 const showSaveToMaterial=ref(false)
 function handleShowSaveToMaterial(){

+ 11 - 1
src/views/chartETA/List.vue

@@ -27,6 +27,7 @@ const {
     optArrNode,
     authOptArr,
 } = useCatalogList()
+const category = ref('')
 
 //跳转至图表详情页
 const goChartDetail = (item)=>{
@@ -396,6 +397,10 @@ function onLoad(){
     getChartList()
 }
 
+function onClickTab() {
+    getCatalogList(category.value)
+}
+
 getCatalogList()
 getChartList()
 </script>
@@ -457,7 +462,12 @@ getChartList()
         <van-popup v-model:show="IsShowCatalog" position="right" class="catalog-list-wrap" style="height:100%">
             <div class="catalog-list">
                 <div class="top sticky-part">
-                    <h3>分类</h3>
+                    <!-- <h3>分类</h3>
+                    <h3>精选资源</h3> -->
+                    <van-tabs v-model:active="category" @click-tab="onClickTab" :ellipsis="false">
+                        <van-tab title="分类"></van-tab>
+                        <van-tab title="精选资源"></van-tab>
+                    </van-tabs>
                     <van-icon name="cross" @click.stop="IsShowCatalog=false"/>
                 </div>
                 <!-- 将目录改为三级 -->

+ 5 - 2
src/views/chartETA/hooks/useCatalogList.js

@@ -70,8 +70,11 @@ export function useCatalogList(){
     const catalogNodes = ref([])
     const currentLang = ref('')
     //获取目录列表
-    async function getCatalogList(){
-        const res = await apiChart.ETAChartClassifyList()
+    async function getCatalogList(IsSelected){
+        const params = {
+            IsSelected: IsSelected
+        }
+        const res = await apiChart.ETAChartClassifyList(params)
         if(res.Ret!==200) return 
         currentLang.value = res.Data.Language
         localStorage.setItem('chartETALange',currentLang.value)

+ 29 - 17
src/views/myETA/ChartDetail.vue

@@ -534,25 +534,37 @@ function handleRemoveChart(){
 }
 
 //删除图表
-function handleDeleteChart(){
+async function handleDeleteChart(){ 
+    const res = await apiChart.deleteCheck({
+        ChartClassifyId:chartInfo.value.chartClassifyId,
+        ChartInfoId:chartInfo.value.ChartInfoId,
+    })
+    if(res.Ret!==200) return
+    const hintTextMap = {
+        0:'确定删除当前分类吗?',
+        1:'该分类下关联图表不可删除!',
+        2:'确认删除当前分类及包含的子分类吗?',
+        3:'删除后,该图表将从ETA投研资源库同步删除,影响客户的查看权限,是否确认删除?'
+    }
     showDialog({
         title: '提示',
-        message: '删除后该图表将不能再引用,确认删除吗?',
-        showCancelButton:true
-    }).then(async () => {
-        // on close
-        const res=chartInfo.value.Source===11?await apiSheet.balanceSheetChartDel({
-            ChartInfoId:chartInfo.value.ChartInfoId
-        }):await apiMyETAChart.chartDel({
-            ChartInfoId:chartInfo.value.ChartInfoId
-        })
-        if(res.Ret===200){
-            showToast('删除成功')
-            cachedViewsStore.removeCaches('MyETAIndex')
-            cachedViewsStore.removeCaches('MyETASearchList')
-            setTimeout(() => {
-                router.back()
-            }, 1500)
+        message: hintTextMap[res.Data.DeleteStatus||0],
+        showCancelButton:res.Data.DeleteStatus!==1
+    }).then(async() => {
+        if(res.Data.DeleteStatus!==1){
+            const res=chartInfo.value.Source===11?await apiSheet.balanceSheetChartDel({
+                ChartInfoId:chartInfo.value.ChartInfoId
+            }):await apiMyETAChart.chartDel({
+                ChartInfoId:chartInfo.value.ChartInfoId
+            })
+            if(res.Ret===200){
+                showToast('删除成功')
+                cachedViewsStore.removeCaches('MyETAIndex')
+                cachedViewsStore.removeCaches('MyETASearchList')
+                setTimeout(() => {
+                    router.back()
+                }, 1500)
+            }
         }
     }).catch(()=>{})
 }