Browse Source

图库中英文切换

cxmo 1 year ago
parent
commit
82c2283f8b

+ 8 - 0
src/api/chart.js

@@ -197,5 +197,13 @@ export default{
     moveChart(params){
         return post('/datamanage/chart_info/move',params)
     },
+    /**
+     * 设置指标库中英文
+     * @param ConfigCode ETA图库 chart_language
+     * @param ConfigValue CN/EN
+     */
+    setUserLang(params){
+        return post('/system/sysuser/config/set',params)
+    },
 
 } 

+ 19 - 3
src/views/chartETA/List.vue

@@ -15,6 +15,7 @@ const { width } = useWindowSize()
 
 const {
     optArrChart,//图表操作列表
+    currentLang,//中英文标识
     catalogNodes,//目录列表
     getCatalogList,//获取图库目录
 } = useCatalogList()
@@ -34,6 +35,17 @@ const IsShowCatalog = ref(false)
 function showCatalog(){
     IsShowCatalog.value = true
 }
+//切换中英文
+async function changeLang(){
+    const res = await apiChart.setUserLang({
+        ConfigCode:'chart_language',
+        ConfigValue:currentLang.value==='EN'?'CN':'EN'
+    })
+    if(res.Ret!==200) return 
+    showToast({message:`切换${currentLang.value==='EN'?'中文':'英文'}成功`,type:'success'})
+    currentLang.value = currentLang.value==='EN'?'CN':'EN'
+    localStorage.setItem('chartETALange',currentLang.value)
+}
 //激活的目录路径
 const catalogMenu = ref('')
 //目录被点击 type:['node'一级目录,'item'二级目录]
@@ -45,8 +57,11 @@ function catalogItemClick({item,type='node',parent}){
     getChartList()
 }
 
+//是否展示操作栏
 const showOptPopup = ref(false)
+//操作项
 const currentOptArr = ref([])
+//操作的节点
 const currentNode = ref({})
 //展示操作栏
 function showFileOpt({node,optArr}){
@@ -210,7 +225,7 @@ function openAddChartDialog(node){
     addChartState.chartInfo = node
     addChartState.isShowDialog = true
 }
-//移动参数
+//移动图表参数
 const moveChartState = reactive({
     isShowDialog:false,
     popTitle:'移动至',
@@ -221,6 +236,7 @@ function openMoveChartDialog(node){
     moveChartState.chartInfo = node
     moveChartState.isShowDialog = true
 }
+
 async function MoveChart(moveId){
     const res = await apiChart.moveChart({
         ChartClassifyId:moveId,
@@ -299,7 +315,7 @@ getChartList()
                     style="flex:1;padding-left:0"
                     @click-input="goSearch"
                 />
-                <div class="lang-icon icon">
+                <div class="lang-icon icon" @click="changeLang">
                     <img src="@/assets/imgs/chartETA/lang-icon.png" alt="">
                 </div>
                 <div class="list-icon icon" @click="showCatalog">
@@ -329,7 +345,7 @@ getChartList()
                         :key="item.ChartInfoId"
                         @click="goChartDetail(item)"
                     >
-                        <div class="title">{{item.ChartName}}</div>
+                        <div class="title">{{currentLang==='EN'?(item.ChartNameEn||item.ChartName):item.ChartName}}</div>
                         <img class="img" :src="item.ChartImage" alt="">   
                         <div class="time">
                             <span>创建时间:{{item.CreateTime.slice(0,10)}}</span>

+ 3 - 1
src/views/chartETA/Search.vue

@@ -7,6 +7,8 @@ import { useRouter } from 'vue-router'
 
 const router=useRouter()
 
+const currentLang = localStorage.getItem('chartETALange')||'CN'
+
 const keyword=ref('')
 const listState = reactive({
     list:[],
@@ -84,7 +86,7 @@ function goDetail(item){
         >
             <ul class="list-wrap">
                 <li class="item" v-for="item in listState.list" :key="item.ChartInfoId" @click="goDetail(item)">
-                    <div class="van-ellipsis name">{{item.ChartName}}</div>
+                    <div class="van-ellipsis name">{{currentLang==='EN'?(item.ChartNameEn||item.ChartName):item.ChartName}}</div>
                     <img class="img" :src="item.ChartImage" alt="">
                     <div class="time">
                         <span>{{moment(item.CreateTime).format('YYYY-MM-DD')}}</span>

+ 4 - 0
src/views/chartETA/hooks/useCatalogList.js

@@ -60,10 +60,13 @@ export function useCatalogList(){
     ]
     //目录列表
     const catalogNodes = ref([])
+    const currentLang = ref('')
     //获取目录列表
     async function getCatalogList(){
         const res = await apiChart.ETAChartClassifyList()
         if(res.Ret!==200) return 
+        currentLang.value = res.Data.Language
+        localStorage.setItem('chartETALange',currentLang.value)
         catalogNodes.value = res.Data?res.Data.AllNodes:[]||[]
         catalogNodes.value = catalogNodes.value.map(node=>{
             if(node.Children){
@@ -86,6 +89,7 @@ export function useCatalogList(){
         optArrChart,
 
         catalogNodes,
+        currentLang,
         getCatalogList
     }
 }