浏览代码

Merge branch 'eta1.7.3'

Karsa 10 月之前
父节点
当前提交
1e9a56f6d6
共有 82 个文件被更改,包括 1968 次插入1211 次删除
  1. 3 0
      src/api/http.js
  2. 21 0
      src/api/modules/chartApi.js
  3. 43 3
      src/api/modules/chartRelevanceApi.js
  4. 11 1
      src/api/modules/futuresBaseApi.js
  5. 3 3
      src/components/chart/chartDetailHandlesWrap.vue
  6. 6 1
      src/components/chart/chartListWrap.vue
  7. 37 12
      src/components/edbDetailPopover.vue
  8. 2 2
      src/components/edbLabelList.vue
  9. 1 0
      src/lang/modules/EtaBase/En.js
  10. 1 0
      src/lang/modules/EtaBase/Zh.js
  11. 6 2
      src/lang/modules/EtaBase/commonLang.js
  12. 6 6
      src/lang/modules/systemManage/BaseConfig.js
  13. 1 1
      src/lang/modules/systemManage/RoleManage.js
  14. 1 0
      src/views/Home.vue
  15. 1 0
      src/views/Login.vue
  16. 8 4
      src/views/chartRelevance_manage/components/selectTarget.vue
  17. 19 9
      src/views/chartRelevance_manage/crossVarietyAnalysis/list.vue
  18. 19 9
      src/views/chartRelevance_manage/fittingEquation/fittingEquationList.vue
  19. 3 3
      src/views/chartRelevance_manage/mixins/classifyMixin.js
  20. 20 10
      src/views/chartRelevance_manage/relevance/list.vue
  21. 19 9
      src/views/chartRelevance_manage/statistic/statisticFeatureList.vue
  22. 20 81
      src/views/dataEntry_manage/addChart.vue
  23. 16 13
      src/views/dataEntry_manage/adjustdata/adjustData.vue
  24. 46 92
      src/views/dataEntry_manage/chartSetting.vue
  25. 6 6
      src/views/dataEntry_manage/codecount/index.vue
  26. 1 1
      src/views/dataEntry_manage/components/SaveChartOther.vue
  27. 177 0
      src/views/dataEntry_manage/components/chartReleationEdbTable.vue
  28. 443 0
      src/views/dataEntry_manage/components/setLangInfo.vue
  29. 26 22
      src/views/dataEntry_manage/databaseComponents/batchComptedDialog.vue
  30. 38 27
      src/views/dataEntry_manage/databaseComponents/batchComputedSave.vue
  31. 3 3
      src/views/dataEntry_manage/databaseComponents/batchComputedV2.vue
  32. 6 6
      src/views/dataEntry_manage/databaseComponents/chartTrendRender.vue
  33. 14 34
      src/views/dataEntry_manage/databaseComponents/createChart.vue
  34. 1 1
      src/views/dataEntry_manage/databaseComponents/dataAssociateComputeData.vue
  35. 2 2
      src/views/dataEntry_manage/databaseComponents/edbDetailData.vue
  36. 16 12
      src/views/dataEntry_manage/databaseComponents/fittingResidueDia.vue
  37. 6 3
      src/views/dataEntry_manage/databaseComponents/jointTargetDia.vue
  38. 1 1
      src/views/dataEntry_manage/databaseComponents/openDialog.vue
  39. 33 25
      src/views/dataEntry_manage/databaseComponents/operationDialog.vue
  40. 12 7
      src/views/dataEntry_manage/databaseComponents/smoothEdbDialog.vue
  41. 152 109
      src/views/dataEntry_manage/databaseList.vue
  42. 18 80
      src/views/dataEntry_manage/editChart.vue
  43. 295 210
      src/views/dataEntry_manage/mixins/chartPublic.js
  44. 8 4
      src/views/dataEntry_manage/thirdBase/BAIINFOTargetbase.vue
  45. 9 5
      src/views/dataEntry_manage/thirdBase/SCITargetbase.vue
  46. 9 18
      src/views/dataEntry_manage/thirdBase/smmTargetbase.vue
  47. 9 4
      src/views/dataEntry_manage/thirdBase/steelChemicalbase.vue
  48. 9 6
      src/views/datasheet_manage/components/CustomTable.vue
  49. 2 15
      src/views/datasheet_manage/components/MixedTable.vue
  50. 5 1
      src/views/datasheet_manage/components/calculateEdbDia.vue
  51. 6 2
      src/views/datasheet_manage/components/edbDetailSection.vue
  52. 3 1
      src/views/datasheet_manage/customSheetEdit.vue
  53. 10 3
      src/views/edbHistoryPage.vue
  54. 16 5
      src/views/futures_manage/chartEditor.vue
  55. 20 10
      src/views/futures_manage/commodityChartBase.vue
  56. 19 132
      src/views/mychart_manage/components/chartDetailDia.vue
  57. 7 2
      src/views/mychart_manage/index.vue
  58. 5 5
      src/views/ppt_manage/mixins/mixins.js
  59. 14 9
      src/views/ppt_manage/mixins/pptMixins.js
  60. 1 0
      src/views/ppt_manage/newVersion/components/catalog/pptContent.vue
  61. 2 1
      src/views/ppt_manage/newVersion/pptCatalog.vue
  62. 2 1
      src/views/ppt_manage/newVersion/pptEditor.vue
  63. 1 2
      src/views/ppt_manage/newVersion/pptEnEditor.vue
  64. 2 0
      src/views/ppt_manage/newVersion/pptPresent.vue
  65. 1 0
      src/views/ppt_manage/newVersion/pptPublish.vue
  66. 12 7
      src/views/predictEdb_manage/addPredicEdb.vue
  67. 1 1
      src/views/predictEdb_manage/components/chartInfo.vue
  68. 3 11
      src/views/predictEdb_manage/components/childData.vue
  69. 1 1
      src/views/predictEdb_manage/components/classifyDia.vue
  70. 2 2
      src/views/predictEdb_manage/components/dynamicRingdiffer.vue
  71. 2 2
      src/views/predictEdb_manage/components/edbDetail.vue
  72. 25 20
      src/views/predictEdb_manage/components/operationDialog.vue
  73. 2 2
      src/views/predictEdb_manage/mixins/mixin.js
  74. 155 112
      src/views/predictEdb_manage/predictEdb.vue
  75. 8 2
      src/views/report_manage/mixins/reportMixin.js
  76. 1 2
      src/views/report_manage/reportEn/reportEditor.vue
  77. 9 9
      src/views/sandbox_manage/sandFlowNew/components/addLInkDia.vue
  78. 7 1
      src/views/smartReport/components/ImportETAChart.vue
  79. 9 1
      src/views/system_manage/dataOperaAuth.vue
  80. 1 1
      src/views/system_manage/etaBaseConfig.vue
  81. 3 1
      src/vuex/index.js
  82. 4 0
      src/vuex/mutations.js

+ 3 - 0
src/api/http.js

@@ -13,6 +13,9 @@ axios.interceptors.request.use(
     const uuid = localStorage.getItem("uuid") || "";
     config.headers.Uuid = uuid;
     config.headers.AccessToken = uuid + "--zheshiyigename";
+
+    config.headers.Lang = localStorage.getItem("i18n") || 'zh';
+
     return config;
   },
   (error) => {

+ 21 - 0
src/api/modules/chartApi.js

@@ -418,6 +418,27 @@ const dataBaseInterface = {
 	getBatchAddEdbSearchList:params=>{
 		return http.get('/datamanage/edb_info/calculate/multi/search',params)
 	},
+	/**
+	 * 设置指标对应版本信息
+	 * @param {*} params 
+	 * EdbInfoId EdbName Unit
+	 */
+	setEdbLangInfo: params => {
+		return http.post('/datamanage/edb_info/base/edit',params)
+	},
+
+	/**
+	 * 设置图表对应版本信息
+	 * @param {*} params 
+	 * ChartInfoId ChartName ChartEdbInfoList
+	 * @returns 
+	 */
+	setChartLangInfo: params => {
+		return http.post('/datamanage/chart_info/base/edit',params)
+	},
+
+
+
 	//========================================chart
 	// /**
 	//  * 

+ 43 - 3
src/api/modules/chartRelevanceApi.js

@@ -253,6 +253,16 @@ export default{
     return http.post('/datamanage/multiple_graph/preview_cure',params)
   },
 
+  /**
+	 * 设置图表对应版本信息
+	 * @param {*} params 
+	 * ChartInfoId ChartName
+	 * @returns 
+	 */
+	setChartLangInfo: params => {
+		return http.post('/correlation/chart_info/base/edit',params)
+	},
+
 }
 
 /* 拟合方程曲线 */
@@ -452,7 +462,17 @@ export const fittingEquationInterface = {
    */
   editChartEn: params => {
     return http.post('/line_equation/chart_info/en/edit',params)
-  }
+  },
+
+  /**
+	 * 设置图表对应版本信息
+	 * @param {*} params 
+	 * ChartInfoId ChartName
+	 * @returns 
+	 */
+	setChartLangInfo: params => {
+		return http.post('/line_equation/chart_info/base/edit',params)
+	},
 }
 
 /* 统计特征曲线 */
@@ -693,7 +713,17 @@ export const statisticFeatureInterface = {
      */
     previewSpline: params => {
       return http.post('/line_feature/preview_cure',params)
-    }
+    },
+    
+    /**
+     * 设置图表对应版本信息
+     * @param {*} params 
+     * ChartInfoId ChartName
+     * @returns 
+     */
+    setChartLangInfo: params => {
+      return http.post('/line_feature/chart_info/base/edit',params)
+    },
 }
 
 /* 跨品种分析 */
@@ -1027,5 +1057,15 @@ export const crossVarietyInterface = {
      */
     saveChart: params => {
       return http.post('/cross_variety/chart_info/save',params)
-    }
+    },
+
+    /**
+     * 设置图表对应版本信息
+     * @param {*} params 
+     * ChartInfoId ChartName TagList VarietyList
+     * @returns 
+     */
+    setChartLangInfo: params => {
+      return http.post('/cross_variety/chart_info/base/edit',params)
+    },
 }

+ 11 - 1
src/api/modules/futuresBaseApi.js

@@ -314,6 +314,16 @@ export default {
   */
   getChartBasicInfo: params => {
     return http.get('/future_good/chart_info/base_detail/from_unique_code',params)
-  }
+  },
+
+  /**
+	 * 设置图表对应版本信息
+	 * @param {*} params 
+	 * ChartInfoId ChartName ChartEdbInfoList
+	 * @returns 
+	 */
+	setChartLangInfo: params => {
+		return http.post('/future_good/chart_info/base/edit',params)
+	},
   
 }

+ 3 - 3
src/components/chart/chartDetailHandlesWrap.vue

@@ -58,7 +58,7 @@
       /> {{$t('Chart.chart_copywx')}}
     </li>
     <li v-if="isShowBtn('enNameSetting')"
-        class="span-item copy" @click="openEnNameDia">
+        class="span-item copy" @click="openLangInfoDia">
       <img
         style="width: 16px; vertical-align: middle"
         :src="$icons.to_en"
@@ -96,8 +96,8 @@ export default {
     editChartHandle() {
       this.$emit('editChartHandle')
     },
-    openEnNameDia() {
-      this.$emit('openEnNameDia')
+    openLangInfoDia() {
+      this.$emit('openLangInfoDia')
     },
     delChartHandle() {
       this.$emit('delChartHandle')

+ 6 - 1
src/components/chart/chartListWrap.vue

@@ -15,7 +15,7 @@
         <el-card class="sheet-item">
           <div class="chartEn-mark" v-show="chart.IsEnChart" style="top: 0;left: 0;">En</div>
           <div slot="header" class="item-top">
-            <span class="text_oneLine">{{ chart.ChartName }}</span>
+            <span class="text_oneLine">{{ currentLang === 'en' ? (chart.ChartNameEn||chart.ChartName) : chart.ChartName }}</span>
           </div>
           <img
             :src="chart.ChartImage"
@@ -50,6 +50,11 @@
 <script>
 export default {
   props: ['total','list'],
+  computed: {
+    currentLang() {
+			return this.$store.state.lang
+		}
+  },
   data() {
     return {
 

+ 37 - 12
src/components/edbDetailPopover.vue

@@ -27,23 +27,48 @@ export default {
     }
   },
   computed: {
+    keysLabel(){
+      return {
+          'EdbName': /* '指标名称' */ this.$t('Edb.Detail.e_name'),
+          'EdbNameEn': /* '指标名称' */ this.$t('Edb.Detail.e_name'),
+          'EdbCode': /* '指标ID' */this.$t('Edb.Detail.e_id'),
+          'Frequency': /* '更新频度' */this.$t('Edb.Detail.e_fre'),
+          'Unit': /* '单位' */this.$t('Edb.Detail.e_unit'),
+          'UnitEn': /* '单位' */this.$t('Edb.Detail.e_unit'),
+          'StartDate': /* '起始时间' */this.$t('Edb.Detail.e_start_time'),
+          'LatestDate': /* '最新日期' */this.$t('Edb.Detail.e_latest_date'),
+          'LatestValue': /* '最新值' */this.$t('Edb.Detail.e_latest_value'),
+          'ModifyTime': /* '最近更新' */this.$t('Edb.Detail.e_recent_time'),
+          'SourceName': /* '数据来源' */this.$t('Edb.Detail.source'),
+        }
+    },
     keysArr(){
-      return Object.keys(this.keysLabel)
+      const keys = [
+        'EdbName',
+        'EdbCode',
+        'Frequency',
+        'Unit',
+        'StartDate',
+        'LatestDate',
+        'LatestValue',
+        'ModifyTime',
+        'SourceName'
+      ]
+
+      const enKeyMap = {
+        'EdbName': 'EdbNameEn',
+        'Unit': 'UnitEn'
+      }
+      return this.currentLang==='en'
+        ? keys.map(_=>enKeyMap[_]?enKeyMap[_]:_)
+        : keys
+    },
+    currentLang() {
+      return this.$store.state.lang
     }
   },
   data() {
     return {
-      keysLabel: {
-        'EdbName': /* '指标名称' */ this.$t('Edb.Detail.e_name'),
-        'EdbCode': /* '指标ID' */this.$t('Edb.Detail.e_id'),
-        'Frequency': /* '更新频度' */this.$t('Edb.Detail.e_fre'),
-        'Unit': /* '单位' */this.$t('Edb.Detail.e_unit'),
-        'StartDate': /* '起始时间' */this.$t('Edb.Detail.e_start_time'),
-        'LatestDate': /* '最新日期' */this.$t('Edb.Detail.e_latest_date'),
-        'LatestValue': /* '最新值' */this.$t('Edb.Detail.e_latest_value'),
-        'ModifyTime': /* '最近更新' */this.$t('Edb.Detail.e_recent_time'),
-        'SourceName': /* '数据来源' */this.$t('Edb.Detail.source'),
-      }
     };
   }
 };

+ 2 - 2
src/components/edbLabelList.vue

@@ -40,7 +40,7 @@ export default {
         },
         currentLang:{ //默认是中文版
             type:String,
-            default:'ch'
+            default:'zh'
         }
 
     },
@@ -53,7 +53,7 @@ export default {
         //决定展示的指标名称为中文还是英文
         getLabelText(label){
             const nameMap = {
-                'ch':label.EdbName,
+                'zh':label.EdbName,
                 'en':label.EdbNameEn.length?label.EdbNameEn:label.EdbName
             }
             return nameMap[this.currentLang]

+ 1 - 0
src/lang/modules/EtaBase/En.js

@@ -3,6 +3,7 @@
 export default {
   /* 指标库页面 */
   EtaBasePage: {
+    tab_menu: 'Catagory',
     add_edb_btn: 'Add Indicator',
     calculation_edb_btn: 'Calculation',
     replace_edb_btn: 'Indicator Replacement',

+ 1 - 0
src/lang/modules/EtaBase/Zh.js

@@ -3,6 +3,7 @@
 export default {
   /* 指标库页面 */
   EtaBasePage: {
+    tab_menu: '目录',
     add_edb_btn: '添加指标',
     calculation_edb_btn: '计算指标',
     replace_edb_btn: '替换指标',

+ 6 - 2
src/lang/modules/EtaBase/commonLang.js

@@ -33,8 +33,8 @@ export default {
     en: 'More Operation'
   },
   detail_en_btn:{
-    zh:'设置英文名称',
-    en:'Set English name'
+    zh:'编辑信息',
+    en:'Edit Information'
   },
   detail_recalculate_btn:{
     zh:'重新计算',
@@ -124,6 +124,10 @@ export default {
     zh:'年数',
     en:'Number of years'
   },
+  only_see_mine:{
+    zh:'只看我的',
+    en:'Just look at mine'
+  },
 
 
   /* 指标相关字段 */

+ 6 - 6
src/lang/modules/systemManage/BaseConfig.js

@@ -28,8 +28,8 @@ export const BaseConfigEn = {
     internal_approval:'Internal Approval',
     third_approval:'Third-party Approval',
     third_approval_tips:"Chinese Research Report(Intelligent Research Report/Research Report List) connected to third-party approval systems via API interface",
-    report_share_title_zh:'Title of Chinese research report sharing',
-    report_share_title_zh_placeholder:'Please Enter Title of English research report sharing',
+    report_share_title_zh:'Title of research report sharing',
+    report_share_title_zh_placeholder:'Please Enter Title of research report sharing',
     report_share_title_en:'Title of English research report sharing',
     report_share_title_en_placeholder:'Please Enter Title of English research report sharing',
     connect_wx:'Associated Public Account',
@@ -41,7 +41,7 @@ export const BaseConfigEn = {
     report_type3:'English Report',
     report_sheet_tip: 'Set the font size for shared tables, time series tables, and mixed tables when inserting into research reports',
 
-    ppt_zh:'Chinese PPT',
+    ppt_zh:'PPT Slides',
     ppt_en:'English PPT',
     ppt_type01:'PPT Cover Image',
     ppt_type02:'PPT Background Image',
@@ -106,8 +106,8 @@ export const BaseConfigZh = {
     internal_approval:'内部审批',
     third_approval:'第三方审批',
     third_approval_tips:'中文研报(智能研报/研报列表)通过API接口对接第三方审批系统',
-    report_share_title_zh:'中文研报分享抬头',
-    report_share_title_zh_placeholder:'请输入中文研报分享抬头',
+    report_share_title_zh:'研报分享抬头',
+    report_share_title_zh_placeholder:'请输入研报分享抬头',
     report_share_title_en:'英文研报分享抬头',
     report_share_title_en_placeholder:'请输入英文研报分享抬头',
     connect_wx:'关联公众号',
@@ -119,7 +119,7 @@ export const BaseConfigZh = {
     report_type3:'英文研报',
     report_sheet_tip: '设置共享表格、时间序列表格、混合表格插入研报的表格字号',
 
-    ppt_zh:'中文PPT',
+    ppt_zh:'智能PPT',
     ppt_en:'英文PPT',
     ppt_type01:'PPT封面图',
     ppt_type02:'PPT背景图',

+ 1 - 1
src/lang/modules/systemManage/RoleManage.js

@@ -28,7 +28,7 @@ export const RoleManageZh = {
     serial_num:'序号',
     role_type:'角色类型',
     set_permission:'设置权限 ',
-    search_placeholder:'Role Search',
+    search_placeholder:'角色搜索',
     no_role_data:'暂无角色',
     input_role_placeholder:'请填写角色名称',
     select_role_placeholder:'选择角色类型',

+ 1 - 0
src/views/Home.vue

@@ -908,6 +908,7 @@ export default {
     langChangeHandler(){
        this.$i18n.locale =  this.$i18n.locale == 'zh' ? 'en' : 'zh'
        localStorage.setItem('i18n',this.$i18n.locale)
+       this.$store.commit('SET_LANG',this.$i18n.locale)
     },
     getSystemInfo(){
       departInterence.getBaseInfo().then(res=>{

+ 1 - 0
src/views/Login.vue

@@ -645,6 +645,7 @@ export default {
         changeLang(val) {
             this.$i18n.locale = val
             localStorage.setItem('i18n',this.$i18n.locale)
+            this.$store.commit('SET_LANG',this.$i18n.locale)
         }
     },
     destroyed() {

+ 8 - 4
src/views/chartRelevance_manage/components/selectTarget.vue

@@ -56,7 +56,7 @@
         <el-option
           v-for="item in searchOptions"
           :key="item.EdbInfoId"
-          :label="item.EdbName"
+          :label="currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName"
           :value="item.EdbInfoId"
           :disabled="!item.HaveOperaAuth"
         >
@@ -69,7 +69,7 @@
                 style="vertical-align:middle" 
                 v-if="!item.HaveOperaAuth"
               />
-              {{item.EdbName}}
+              {{currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName}}
             </div>
           </edbDetailPopover>
         </el-option>
@@ -92,7 +92,7 @@
       <el-option
         v-for="item in searchOptions"
         :key="item.EdbInfoId"
-        :label="item.EdbName"
+        :label="currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName"
         :value="item.EdbInfoId"
         :disabled="!item.HaveOperaAuth"
       >
@@ -105,7 +105,7 @@
               style="vertical-align:middle" 
               v-if="!item.HaveOperaAuth"
             />
-            {{item.EdbName}}
+            {{currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName}}
           </div>
         </edbDetailPopover>
       </el-option>
@@ -158,6 +158,10 @@ export default {
                     val:'2'
                 },
             ]
+      },
+
+      currentLang() {
+        return this.$store.state.lang
       }
     },
     data() {

+ 19 - 9
src/views/chartRelevance_manage/crossVarietyAnalysis/list.vue

@@ -34,7 +34,7 @@
 						<el-option
 							v-for="item in searchOptions"
 							:key="item.ChartInfoId"
-							:label="item.ChartName"
+							:label="currentLang==='en'?(item.ChartNameEn||item.ChartName):item.ChartName"
 							:value="item.ChartInfoId"
 						>
 						</el-option>
@@ -81,7 +81,7 @@
 									(select_node === data.UniqueCode && node.Nodewidth) || ''
 								}`"
 							>
-								<span>{{ data.ChartClassifyName }}</span>
+								<span>{{ currentLang==='en' ? (data.ChartClassifyNameEn||data.ChartClassifyName) : data.ChartClassifyName  }}</span>
 							</span>
 							<span
 								style="display: flex; align-items: center"
@@ -135,7 +135,7 @@
                 <div class="chartEn-mark" v-show="chartInfo.IsEnChart" style="top: 0;left: 0;">En</div>
                 <div class="chart-show-cont"  v-if="!chartInfo.WarnMsg">
                   <div class="chartWrapper" id="chartWrapper">
-                    <h2 class="chart-title">{{ chartInfo.ChartName }}</h2>
+                    <h2 class="chart-title">{{ currentLang==='en'?(chartInfo.ChartNameEn||chartInfo.ChartName):chartInfo.ChartName }}</h2>
                     <Chart 
 											:options="options"
 											:chartInfo="chartInfo"
@@ -209,7 +209,7 @@
 									@saveChartHandle="saveChartHandle"
 									@saveChartOtherHandle="saveChartOtherHandle"
 									@editChartHandle="editChartHandle"
-									@openEnNameDia="openEnNameDia"
+									@openLangInfoDia="openLangInfoDia"
 									@delChartHandle="delChartHandle"
 								/>
               </el-col>
@@ -260,11 +260,19 @@
     />
 
 		<!-- 输入英文指标弹窗 -->
-		<set-en-name-dia 
+		<!-- <set-en-name-dia 
 			:isOpenDialog="setEnName" 
 		  :formData="formItemArray"
 			@cancel="setEnName=false"
    	  @updateEnName="updateEnName"
+		/> -->
+		
+    <!-- 设置对应版本信息弹窗 -->
+		<setLangInfoDia
+			:isOpenDialog="isLangInfoDia"
+			:formData="formItemArray"
+			@cancel="isLangInfoDia=false" 
+			@updateLang="updateLang"
 		/>
 
 	</div>
@@ -281,6 +289,7 @@ import setEnNameDia from '@/views/dataEntry_manage/components/setEnNameDia.vue'
 import { chartSetMixin } from '@/views/dataEntry_manage/mixins/chartPublic';
 import { copyOtherOptions } from '@/utils/defaultOptions';
 import edbTableSection from './components/edbTableSection.vue';
+import setLangInfoDia from '@/views/dataEntry_manage/components/setLangInfo.vue'
 export default {
 	components: {
 		classifyDia,
@@ -288,7 +297,8 @@ export default {
 		addMyClassifyDia,
 		SaveChartOther,
 		setEnNameDia,
-		edbTableSection
+		edbTableSection,
+		setLangInfoDia
 	},
 	mixins:[ leftMixin,chartSetMixin ],
 	computed: {
@@ -417,12 +427,12 @@ export default {
 
 
     /* 编辑节点 */
-    editNode(node, { ChartClassifyName,ChartClassifyId }) {
+    editNode(node, { ChartClassifyName,ChartClassifyNameEn,ChartClassifyId }) {
 
       this.dialog_title = this.$t('StatisticAnalysis.ChartRelevance.edit_chart_classify')||'编辑图表分类';
       /* 编辑目录 */
       this.classifyForm = {
-        classify_name: ChartClassifyName,
+        classify_name: this.currentLang==='en'?ChartClassifyNameEn:ChartClassifyName,
         classify_id: ChartClassifyId,
       };
       this.classifyDia = true;
@@ -578,7 +588,7 @@ export default {
 		},
 
 		copyChartHandle:_.debounce(function(type){
-      let chartsName = this.currentLang=='ch'?this.chartInfo.ChartName:this.chartInfo.ChartNameEn
+      let chartsName = this.currentLang=='zh'?this.chartInfo.ChartName:this.chartInfo.ChartNameEn
       let { heightNum, widthNum , newTitle , dynamic_copyOptions} = this.dynamicWidthAndHeight(type,this.chartInfo.ChartType,chartsName,1)
       const chartType = 'seasonLegend';
       // 英文转SVG设置变动

+ 19 - 9
src/views/chartRelevance_manage/fittingEquation/fittingEquationList.vue

@@ -47,7 +47,7 @@
 						<el-option
 							v-for="item in searchOptions"
 							:key="item.ChartInfoId"
-							:label="item.ChartName"
+							:label="currentLang==='en'?(item.ChartNameEn||item.ChartName):item.ChartName"
 							:value="item.ChartInfoId"
 						>
 						</el-option>
@@ -94,7 +94,7 @@
 									(select_node === data.UniqueCode && node.Nodewidth) || ''
 								}`"
 							>
-								<span>{{ data.ChartClassifyName }}</span>
+								<span>{{ currentLang==='en' ? (data.ChartClassifyNameEn||data.ChartClassifyName) : data.ChartClassifyName  }}</span>
 							</span>
 							<span
 								style="display: flex; align-items: center"
@@ -159,7 +159,7 @@
                 <div class="chartEn-mark" v-show="chartInfo.IsEnChart" style="top: 0;left: 0;">En</div>
                 <div class="chart-show-cont"  v-if="!chartInfo.WarnMsg">
                   <div class="chartWrapper" id="chartWrapper">
-                    <h2 class="chart-title">{{ chartInfo.ChartName }}</h2>
+                    <h2 class="chart-title">{{ currentLang==='en'?(chartInfo.ChartNameEn||chartInfo.ChartName):chartInfo.ChartName }}</h2>
                     <Chart 
 											:options="options"
 											:chartInfo="chartInfo"
@@ -184,7 +184,7 @@
 									@refreshHandle="refreshHandle"
 									@saveChartOtherHandle="saveChartOtherHandle"
 									@editChartHandle="editChartHandle"
-									@openEnNameDia="openEnNameDia"
+									@openLangInfoDia="openLangInfoDia"
 									@delChartHandle="delChartHandle"
 								/>
               </el-col>
@@ -232,11 +232,19 @@
     />
 
 		<!-- 输入英文指标弹窗 -->
-		<set-en-name-dia 
+		<!-- <set-en-name-dia 
 			:isOpenDialog="setEnName" 
 		  :formData="formItemArray"
 			@cancel="setEnName=false"
    	  @updateEnName="updateEnName"
+		/> -->
+
+		<!-- 设置对应版本信息弹窗 -->
+		<setLangInfoDia
+			:isOpenDialog="isLangInfoDia"
+			:formData="formItemArray"
+			@cancel="isLangInfoDia=false" 
+			@updateLang="updateLang"
 		/>
 
 	</div>
@@ -253,6 +261,7 @@ import SaveChartOther from '@/views/dataEntry_manage/components/SaveChartOther';
 import setEnNameDia from '@/views/dataEntry_manage/components/setEnNameDia.vue'
 import { chartSetMixin } from '@/views/dataEntry_manage/mixins/chartPublic';
 import { copyOtherOptions } from '@/utils/defaultOptions';
+import setLangInfoDia from '@/views/dataEntry_manage/components/setLangInfo.vue'
 export default {
 	components: { 
 		changeLang,
@@ -260,7 +269,8 @@ export default {
 		Chart,
 		addMyClassifyDia,
 		SaveChartOther,
-		setEnNameDia
+		setEnNameDia,
+		setLangInfoDia
 	},
 	mixins:[ leftMixin,chartSetMixin ],
 	computed: {
@@ -404,12 +414,12 @@ export default {
 		},
 
     /* 编辑节点 */
-    editNode(node, { ChartClassifyName,ChartClassifyId }) {
+    editNode(node, { ChartClassifyName,ChartClassifyNameEn,ChartClassifyId }) {
 
       this.dialog_title = this.$t('StatisticAnalysis.ChartRelevance.edit_chart_classify')||'编辑图表分类';
       /* 编辑目录 */
       this.classifyForm = {
-        classify_name: ChartClassifyName,
+        classify_name: this.currentLang==='en'?ChartClassifyNameEn:ChartClassifyName,
         classify_id: ChartClassifyId,
       };
       this.classifyDia = true;
@@ -583,7 +593,7 @@ export default {
 		},
 
 		copyChartHandle:_.debounce(function(type){
-      let chartsName = this.currentLang=='ch'?this.chartInfo.ChartName:this.chartInfo.ChartNameEn
+      let chartsName = this.currentLang=='zh'?this.chartInfo.ChartName:this.chartInfo.ChartNameEn
       let { heightNum, widthNum , newTitle , dynamic_copyOptions} = this.dynamicWidthAndHeight(type,this.chartInfo.ChartType,chartsName,1)
       const chartType = 'seasonLegend';
       // 英文转SVG设置变动

+ 3 - 3
src/views/chartRelevance_manage/mixins/classifyMixin.js

@@ -16,7 +16,7 @@ export default {
     /* 图表id */
     select_id(newval) {
       if (newval) {
-        this.currentLang = "ch";
+        // this.currentLang = "ch";
         this.getDetailHandle();
       } else {
         this.chartInfo = {};
@@ -131,7 +131,7 @@ export default {
         //目录名称可以双击修改
         if(data.ChartInfoId) return
         this.$set(data,'isEdit',true)
-        this.new_label = data.ChartClassifyName;
+        this.new_label = this.currentLang==='en'?data.ChartClassifyNameEn:data.ChartClassifyName;
         this.$nextTick(() => {
           this.$refs.editVal.focus();
         });
@@ -142,7 +142,7 @@ export default {
       if(!this.new_label) return this.$message.warning('名称不能为空');
       this.$set(data,'isEdit',false)
 
-      if(this.new_label === data.ClassifyName) return 
+      if((this.new_label===data.ClassifyName&&this.currentLang==='zh')||(this.new_label===data.ClassifyNameEn&&this.currentLang==='en')) return 
       
       let res;
       if(this.$route.path === '/fittingEquationList') {

+ 20 - 10
src/views/chartRelevance_manage/relevance/list.vue

@@ -39,7 +39,7 @@
             <el-option
               v-for="item in searchOptions"
               :key="item.ChartInfoId"
-              :label="item.ChartName"
+              :label="currentLang==='en'?(item.ChartNameEn||item.ChartName):item.ChartName"
               :value="item.ChartInfoId"
             >
             </el-option>
@@ -96,7 +96,7 @@
                   (select_node === data.UniqueCode && node.Nodewidth) || ''
                 }`"
               >
-                <span>{{ data.ChartClassifyName }}</span>
+                <span>{{ currentLang==='en' ? (data.ChartClassifyNameEn||data.ChartClassifyName) : data.ChartClassifyName  }}</span>
               </span>
               <span
                 style="display: flex; align-items: center"
@@ -164,7 +164,7 @@
               <div class="chart-show-cont" v-if="!chartInfo.WarnMsg">
                 <div class="chartWrapper" id="chartWrapper">
                   <h2 class="chart-title">
-                    {{ chartInfo.ChartName }}
+                    {{ currentLang==='en'?(chartInfo.ChartNameEn||chartInfo.ChartName):chartInfo.ChartName }}
                   </h2>
                   <Chart
                     :options="options"
@@ -201,7 +201,7 @@
                 @refreshHandle="refreshHandle"
                 @saveChartOtherHandle="saveChartOtherHandle"
                 @editChartHandle="editChartHandle"
-                @openEnNameDia="openEnNameDia"
+                @openLangInfoDia="openLangInfoDia"
                 @delChartHandle="delChartHandle"
               />
             </el-col>
@@ -301,12 +301,20 @@
     />
 
     <!-- 输入英文指标弹窗 -->
-    <set-en-name-dia
+    <!-- <set-en-name-dia
       :isOpenDialog="setEnName"
       :formData="formItemArray"
       @cancel="setEnName = false"
       @updateEnName="updateEnName"
-    />
+    /> -->
+
+     <!-- 设置对应版本信息弹窗 -->
+		<setLangInfoDia
+			:isOpenDialog="isLangInfoDia"
+			:formData="formItemArray"
+			@cancel="isLangInfoDia=false" 
+			@updateLang="updateLang"
+		/>
   </div>
 </template>
 
@@ -321,6 +329,7 @@ import SaveChartOther from "@/views/dataEntry_manage/components/SaveChartOther";
 import setEnNameDia from "@/views/dataEntry_manage/components/setEnNameDia.vue";
 import { chartSetMixin } from "@/views/dataEntry_manage/mixins/chartPublic";
 import { copyOtherOptions } from '@/utils/defaultOptions';
+import setLangInfoDia from '@/views/dataEntry_manage/components/setLangInfo.vue'
 export default {
   components: {
     changeLang,
@@ -329,6 +338,7 @@ export default {
     addMyClassifyDia,
     SaveChartOther,
     setEnNameDia,
+    setLangInfoDia
   },
   mixins: [leftMixin, chartSetMixin],
   computed: {
@@ -483,11 +493,11 @@ export default {
     },
 
     /* 编辑节点 */
-    editNode(node, { ChartClassifyName, ChartClassifyId }) {
+    editNode(node, { ChartClassifyName,ChartClassifyNameEn, ChartClassifyId }) {
       this.dialog_title = this.$t('StatisticAnalysis.ChartRelevance.edit_chart_classify')||"编辑图表分类";
       /* 编辑目录 */
       this.classifyForm = {
-        classify_name: ChartClassifyName,
+        classify_name: this.currentLang==='en'?ChartClassifyNameEn:ChartClassifyName,
         classify_id: ChartClassifyId,
       };
       this.classifyDia = true;
@@ -661,7 +671,7 @@ export default {
       this.refreshLoading = this.$loading({
         lock: true,
         target: ".main-right",
-        text: "刷新图表中...",
+        text: /* "刷新图表中..." */this.$t('Chart.OptMsg.refresh_ing_msg'),
         spinner: "el-icon-loading",
         background: "rgba(255, 255, 255, 0.8)",
       });
@@ -691,7 +701,7 @@ export default {
     /* 点击复制先用canvas画出 转成图片在放到粘贴板中 */
     copyChartHandle: _.debounce(function (type) {
         let chartsName =
-          this.currentLang == "ch"
+          this.currentLang == "zh"
             ? this.chartInfo.ChartName
             : this.chartInfo.ChartNameEn;
         let { heightNum, widthNum, newTitle, dynamic_copyOptions } =

+ 19 - 9
src/views/chartRelevance_manage/statistic/statisticFeatureList.vue

@@ -34,7 +34,7 @@
 						<el-option
 							v-for="item in searchOptions"
 							:key="item.ChartInfoId"
-							:label="item.ChartName"
+							:label="currentLang==='en'?(item.ChartNameEn||item.ChartName):item.ChartName"
 							:value="item.ChartInfoId"
 						>
 						</el-option>
@@ -81,7 +81,7 @@
 									(select_node === data.UniqueCode && node.Nodewidth) || ''
 								}`"
 							>
-								<span>{{ data.ChartClassifyName }}</span>
+								<span>{{ currentLang==='en' ? (data.ChartClassifyNameEn||data.ChartClassifyName) : data.ChartClassifyName  }}</span>
 							</span>
 							<span
 								style="display: flex; align-items: center"
@@ -145,7 +145,7 @@
                 <div class="chartEn-mark" v-show="chartInfo.IsEnChart" style="top: 0;left: 0;">En</div>
                 <div class="chart-show-cont"  v-if="!chartInfo.WarnMsg">
                   <div class="chartWrapper" id="chartWrapper">
-                    <h2 class="chart-title">{{ chartInfo.ChartName }}</h2>
+                    <h2 class="chart-title">{{ currentLang==='en'?(chartInfo.ChartNameEn||chartInfo.ChartName):chartInfo.ChartName }}</h2>
                     <Chart 
 											:options="options"
 											:chartInfo="chartInfo"
@@ -170,7 +170,7 @@
 									@refreshHandle="refreshHandle"
 									@saveChartOtherHandle="saveChartOtherHandle"
 									@editChartHandle="editChartHandle"
-									@openEnNameDia="openEnNameDia"
+									@openLangInfoDia="openLangInfoDia"
 									@delChartHandle="delChartHandle"
 								/>
               </el-col>
@@ -217,11 +217,19 @@
     />
 
 		<!-- 输入英文指标弹窗 -->
-		<set-en-name-dia 
+		<!-- <set-en-name-dia 
 			:isOpenDialog="setEnName" 
 		  :formData="formItemArray"
 			@cancel="setEnName=false"
    	  @updateEnName="updateEnName"
+		/> -->
+
+		<!-- 设置对应版本信息弹窗 -->
+		<setLangInfoDia
+			:isOpenDialog="isLangInfoDia"
+			:formData="formItemArray"
+			@cancel="isLangInfoDia=false" 
+			@updateLang="updateLang"
 		/>
 
 	</div>
@@ -238,13 +246,15 @@ import SaveChartOther from '@/views/dataEntry_manage/components/SaveChartOther';
 import setEnNameDia from '@/views/dataEntry_manage/components/setEnNameDia.vue'
 import { chartSetMixin } from '@/views/dataEntry_manage/mixins/chartPublic';
 import { copyOtherOptions } from '@/utils/defaultOptions';
+import setLangInfoDia from '@/views/dataEntry_manage/components/setLangInfo.vue'
 export default {
 	components: {
 		classifyDia,
 		Chart,
 		addMyClassifyDia,
 		SaveChartOther,
-		setEnNameDia
+		setEnNameDia,
+		setLangInfoDia
 	},
 	mixins:[ leftMixin,chartSetMixin ],
 	computed: {
@@ -382,12 +392,12 @@ export default {
 		},
 
     /* 编辑节点 */
-    editNode(node, { ChartClassifyName,ChartClassifyId }) {
+    editNode(node, { ChartClassifyName,ChartClassifyNameEn,ChartClassifyId }) {
 
       this.dialog_title = this.$t('StatisticAnalysis.ChartRelevance.edit_chart_classify')||'编辑图表分类';
       /* 编辑目录 */
       this.classifyForm = {
-        classify_name: ChartClassifyName,
+        classify_name: this.currentLang==='en'?ChartClassifyNameEn:ChartClassifyName,
         classify_id: ChartClassifyId,
       };
       this.classifyDia = true;
@@ -551,7 +561,7 @@ export default {
 		},
 
 		copyChartHandle:_.debounce(function(type){
-      let chartsName = this.currentLang=='ch'?this.chartInfo.ChartName:this.chartInfo.ChartNameEn
+      let chartsName = this.currentLang=='zh'?this.chartInfo.ChartName:this.chartInfo.ChartNameEn
       let { heightNum, widthNum , newTitle , dynamic_copyOptions} = this.dynamicWidthAndHeight(type,this.chartInfo.ChartType,chartsName,1)
       const chartType = 'seasonLegend';
       // 英文转SVG设置变动

+ 20 - 81
src/views/dataEntry_manage/addChart.vue

@@ -204,7 +204,7 @@
           <el-collapse v-model="activeNames" class="target-list" v-if="tableData.length&&![7,10,11].includes(chartInfo.ChartType)">
             <el-collapse-item v-for="(item,index) in tableData" :key="item.EdbInfoId" :disabled="[2,5].includes(chartInfo.ChartType)">
               <template slot="title">
-                <span class="text_oneLine">{{item.EdbName}}</span>
+                <span class="text_oneLine">{{currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName}}</span>
 								<i class="el-icon-delete del-icon" @click.stop="delTarget(item)"></i>
               </template>
               <ul class="setting-cont" v-if="sameOptionType.includes(chartInfo.ChartType)">
@@ -622,83 +622,17 @@
 							><!-- 作者 -->{{$t('Chart.Detail.author')}}:{{ chartInfo.SysUserRealName || roleName }}</span
 						>
 					</div>
-					<el-table
-						:data="tableData"
-						ref="tableRef"
-						highlight-current-row
-						border
-					>
-						<el-table-column type="expand" v-if="![10,11].includes(chartInfo.ChartType)">
-							<template slot-scope="{row,$index}">
-								<div class="expand-wrap">
-									<div class="data-change">
-										<el-checkbox v-model="updateData[$index].IsConvert">数据转换</el-checkbox>
-										<el-select v-model="updateData[$index].ConvertType">
-											<el-option label="乘以" :value="1"></el-option>
-											<el-option label="除以" :value="2"></el-option>
-											<el-option label="对数" :value="3"></el-option>
-										</el-select>
-									<el-input type="number" v-model="updateData[$index].ConvertValue"></el-input>
-									</div>
-									<div class="unit-change">
-										<label>单位</label>
-										<el-input v-model="updateData[$index].ConvertUnit"></el-input>
-										<label>英文单位</label>
-										<el-input v-model="updateData[$index].ConvertEnUnit"></el-input>
-									</div>
-									<!--柱形图-->
-									<div class="use-change" v-if="chartInfo.ChartType===7">
-										<el-radio v-model="useUnit" :label="$index">设置为图表单位</el-radio>
-									</div>
-									<div class="confirm-btn">
-										<el-button type="text" @click="changeTableData($index)">保存</el-button>
-									</div>
-								</div>
-							</template>
-						</el-table-column>
-						<el-table-column
-							v-for="item in tableColums"
-							:key="item.label"
-							:label="item.label"
-							:width="item.widthsty"
-							:min-width="item.minwidthsty"
-							align="center"
-						>
-							<template slot-scope="scope">
-								<div v-if="item.key === 'EdbName' && [1,4,6,7,11].includes(chartInfo.ChartType)">
-									<!-- 柱状图用别名 -->
-									<el-input 
-										v-model="scope.row.EdbAliasName"
-										placeholder="指标别名"
-										class="target-other-name"
-										clearable
-									/>
-								</div>
-								<span v-else>{{ scope.row[item.key] }}</span>
-							</template>
-						</el-table-column>
-						<el-table-column
-							:label="$t('Table.column_operations')"
-							key="Copy"
-							align="center"
-							width="140"
-						>
-							<template slot-scope="scope" v-if="scope.row.HaveOperaAuth">
-								<span @click="delTarget(scope.row)" class="deletesty"><!-- 删除 -->{{$t('Table.delete_btn')}}&nbsp;</span>
-								<span v-permission="permissionBtn.chartLibPermission.chartLib_copyData"
-									class="editsty" @click="copyCode(scope.row)">
-									<i class="el-icon-document-copy" />&nbsp;<!-- 复制数据 -->{{$t('Edb.detail_copydata_btn')}}</span
-								><br>
-								<span v-permission="permissionBtn.chartLibPermission.chartLib_viewData"
-									class="editsty"
-									@click="viewTarget(scope.row)"
-								><!-- 查看数据 -->{{$t('Edb.detail_lookdata_btn')}}</span>
-							</template>
-						</el-table-column>
-						<div slot="empty">
-							 <tableNoData :text="$t('Table.no_edb_msg')" size="mini"/>
-						</div>
-					</el-table>
+					
+					<!-- 关联指标 -->
+					<chartRelationEdbList
+						:chartInfo="chartInfo"
+						:tableData="tableData"
+						:updateData="updateData"
+						@changeTableData="changeTableData"
+						@delTarget="delTarget"
+						@copyCode="copyCode"
+						@viewTarget="viewTarget"
+					/>
 				</div>
       </div>
 			<div class="nodata" v-else>
@@ -744,8 +678,9 @@ import sectionalScatterOption from './components/sectionalScatterOption.vue';
 import LegendEditDia from './components/LegendEditDia.vue';
 import markersSection from './components/markersSection.vue';
 import chartSourceEditDia from './components/chartSourceEditDialog.vue';
+import chartRelationEdbList from './components/chartReleationEdbTable.vue';
 export default {
-  components: { Chart,DateChooseDia,barOption,sectionalScatterOption,LegendEditDia,markersSection,chartSourceEditDia},
+  components: { Chart,DateChooseDia,barOption,sectionalScatterOption,LegendEditDia,markersSection,chartSourceEditDia,chartRelationEdbList},
 	directives: {
     drag(el, bindings) {
       el.onmousedown = function (e) {
@@ -785,11 +720,15 @@ export default {
 				
 					}else {
 						//拼接标题
-						this.chartInfo.ChartName =  this.sameOptionType.includes(this.chartInfo.ChartType) ? newval.map((item,index) => index === newval.length-1 ? item.EdbName : `${item.EdbName}和`).join('') : `${newval[0].EdbName}季节性`;
-						//只有当新增指标or切换左右轴时,才更新上下限
+						this.chartInfo.ChartName =  this.sameOptionType.includes(this.chartInfo.ChartType) 
+							? newval.map((item,index) => index === newval.length-1 
+								? (this.currentLang==='en'?item.EdbNameEn:item.EdbName) 
+								: `${(this.currentLang==='en'?item.EdbNameEn:item.EdbName)}和`).join('') 
+							: `${this.currentLang==='en'?newval[0].EdbNameEn:newval[0].EdbName}季节性`;
 						if(this.updateLimit){
 							this.EdbAxisChange()
 						}
+						
 						this.setAddChartDefault();
 						this.setChartOptionHandle(newval);
 					}

+ 16 - 13
src/views/dataEntry_manage/adjustdata/adjustData.vue

@@ -22,7 +22,7 @@
               <el-option
                 v-for="item in searchOptions"
                 :key="item.EdbInfoId"
-                :label="eta_lang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName"
+                :label="currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName"
                 :value="item.EdbInfoId"
                 :disabled="!item.HaveOperaAuth"
               >
@@ -34,7 +34,7 @@
 										style="vertical-align:middle" 
 										v-if="!item.HaveOperaAuth"
 									/>
-									{{eta_lang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName}}
+									{{currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName}}
 								</div>
               </el-option>
             </el-select>
@@ -190,10 +190,6 @@ export default {
       page_size: 20,
       start_index: 0,
       end_index: 49,
-      tableColums: [
-        { label: this.$t('Edb.Detail.e_date'),key:'DataTime' },
-        { label: this.$t('Edb.Detail.e_value'),key:'Value' }
-      ],
 
       tips: this.$t('AdjustDataPage.usetip'),
 
@@ -202,8 +198,8 @@ export default {
           r:0,
           c:0,
           v:{
-            m:"日期",
-            v:"日期",
+            m: this.$t('Edb.Detail.e_date'),
+            v: this.$t('Edb.Detail.e_date'),
             bg:'#bbb'
           },
         },
@@ -211,8 +207,8 @@ export default {
           r:0,
           c:1,
           v:{
-            m:"值",
-            v:"值",
+            m:this.$t('Edb.Detail.e_value'),
+            v:this.$t('Edb.Detail.e_value'),
             bg:'#bbb'
           },
         },
@@ -306,8 +302,15 @@ export default {
       return this.old_edb_data.length;
     },
 
+    tableColums(){
+      return [
+          { label: this.$t('Edb.Detail.e_date'),key:'DataTime' },
+          { label: this.$t('Edb.Detail.e_value'),key:'Value' }
+        ]
+    },
+
      ...mapState({
-			eta_lang: state => state.edb.eta_lang,	
+			currentLang: state => state.lang,	
 		})
   },
 
@@ -347,10 +350,10 @@ export default {
       let arr = res.Data.Item.DataList ||[];
       this.old_edb_data = arr;
       this.formData = {
-        targetName: res.Data.Item.EdbName,
+        targetName: this.currentLang==='en'?res.Data.Item.EdbNameEn:res.Data.Item.EdbName,
         menu: res.Data.ClassifyList[0].ClassifyId,
         frequency: res.Data.Item.Frequency,
-        unit: res.Data.Item.Unit
+        unit: this.currentLang==='en'?res.Data.Item.UnitEn:res.Data.Item.Unit
       }
       this.resetData()
     },

+ 46 - 92
src/views/dataEntry_manage/chartSetting.vue

@@ -27,8 +27,8 @@
             @click="$router.push({path: '/addchart'})" type="primary"
           ><!-- 添加图表 -->{{$t('Chart.add_chart_btn')}}</el-button>
 
-          <change-lang v-permission="permissionBtn.chartLibPermission.chartLib_switchEn"
-            :lang="currentLang" @changeLang="changeLanguage" style="margin-left: 10px;"/>
+          <!-- <change-lang v-permission="permissionBtn.chartLibPermission.chartLib_switchEn"
+            :lang="currentLang" @changeLang="changeLanguage" style="margin-left: 10px;"/> -->
 
         </div>
         
@@ -204,7 +204,7 @@
           <el-collapse v-model="activeNames" class="target-list" v-if="tableData.length">
             <el-collapse-item v-for="(item,index) in tableData" :key="item.EdbInfoId" :disabled="![1,4,6].includes(chartInfo.ChartType)">
               <template slot="title">
-                <span class="text_oneLine">{{item.EdbName}}</span>
+                <span class="text_oneLine">{{currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName}}</span>
               </template>
               <ul class="setting-cont">
                 <!-- 堆叠图 或组合图中的堆叠类型 非第一项隐藏配置 -->
@@ -402,68 +402,12 @@
                           color:${JSON.parse(chartInfo.ChartThemeStyle).titleOptions.style.color}
                         `"
                       >
-                        {{ currentLang==='en'?(chartInfo.ChartNameEn||chartInfo.ChartName):chartInfo.ChartName }}
+                        {{ currentLang==='en'?chartInfo.ChartNameEn:chartInfo.ChartName }}
                       </h2>
 
                       <Chart :options="options" :chartInfo="chartInfo" ref="chartRef"/>
 
-                    <!--  <div class="range-cont left" v-if="leftIndex != -1">
-                        <el-input
-                          style="width: 60px; display: block"
-                          size="mini"
-                          type="number"
-                          :placeholder="$t('Chart.up_limit')"
-                          :disabled="!permissionBtn.isShowBtn('chartLibPermission','chartLib_editLimit')"
-                          v-model="tableData[leftIndex].MaxData"
-                        />
-                        <el-input
-                          class="min-data-input"
-                          size="mini"
-                          type="number"
-                          :placeholder="$t('Chart.low_limit')"
-                          :disabled="!permissionBtn.isShowBtn('chartLibPermission','chartLib_editLimit')"
-                          v-model="tableData[leftIndex].MinData"
-                        />
-                      </div>
-                      <div 
-                        class="range-cont right" 
-                        v-if="rightIndex != -1"
-                      >
-                        <el-input
-                          style="width: 60px; display: block"
-                          size="mini"
-                          type="number"
-                          :placeholder="$t('Chart.up_limit')"
-                          :disabled="!permissionBtn.isShowBtn('chartLibPermission','chartLib_editLimit')"
-                          v-model="tableData[rightIndex].MaxData"
-                        />
-                        <el-input
-                          class="min-data-input"
-                          size="mini"
-                          type="number"
-                          :placeholder="$t('Chart.low_limit')"
-                          :disabled="!permissionBtn.isShowBtn('chartLibPermission','chartLib_editLimit')"
-                          v-model="tableData[rightIndex].MinData"
-                        />
-                      </div>
-                      <div class="range-cont rightTwo" v-if="rightTwoIndex != -1">
-                        <el-input
-                          style="width: 60px; display: block"
-                          size="mini"
-                          type="number"
-                          :placeholder="$t('Chart.up_limit')"
-                          :disabled="!permissionBtn.isShowBtn('chartLibPermission','chartLib_editLimit')"
-                          v-model="tableData[rightTwoIndex].MaxData"
-                        />
-                        <el-input
-                          class="min-data-input"
-                          size="mini"
-                          type="number"
-                          :placeholder="$t('Chart.low_limit')"
-                          :disabled="!permissionBtn.isShowBtn('chartLibPermission','chartLib_editLimit')"
-                          v-model="tableData[rightTwoIndex].MinData"
-                        />
-                      </div> -->
+
                       <template v-if="![7,10,11].includes(chartInfo.ChartType)">
                           <div class="range-cont left" v-if="leftIndex != -1">
                               <el-input
@@ -699,9 +643,9 @@
                       <li 
                         v-permission="permissionBtn.chartLibPermission.chartLib_enNameSetting"
                         class="span-item copy"
-                        @click="openEnNameDia"
+                        @click="openLangInfoDia"
                       >
-                        <img style="width: 16px;vertical-align: middle" :src="$icons.to_en" />&nbsp;<!-- 设置英文名称 -->{{$t('Edb.detail_en_btn')}}
+                        <img style="width: 16px;vertical-align: middle" :src="$icons.to_en" />&nbsp;<!-- 编辑信息 -->{{$t('Edb.detail_en_btn')}}
                       </li>
                       <li 
                         v-permission="permissionBtn.chartLibPermission.chartLib_del"
@@ -849,7 +793,7 @@
     />
 
     <!-- 输入英文指标弹窗 -->
-		<set-en-name-dia 
+		<!-- <set-en-name-dia 
       :isOpenDialog="setEnName" 
       @cancel="setEnName=false" 
       @updateEnName="updateEnName" 
@@ -857,13 +801,18 @@
       :chartType="chartInfo.ChartType"
       :datainfo="chartInfo.ChartType===10?JSON.parse(chartInfo.ExtraConfig):null"
       :edblist="chartInfo.ChartType===10?tableData:[]"
-    />
-
-    <!-- 指标历史记录 -->
-    <!-- <edbHistoryDialog
-      :isOpenDialog.sync="isLookHistory"
-      :edbId="lookEdbId"
     /> -->
+
+    <!-- 设置对应版本信息弹窗 -->
+		<setLangInfoDia
+			:isOpenDialog="isLangInfoDia"
+			:formData="formItemArray"
+      :chartType="chartInfo.ChartType"
+      :datainfo="chartInfo.ChartType===10?JSON.parse(chartInfo.ExtraConfig):null"
+      :edblist="chartInfo.ChartType===10?tableData:[]"
+			@cancel="isLangInfoDia=false" 
+			@updateLang="updateLang"
+		/>
   </div>
 </template>
 
@@ -883,6 +832,7 @@ import SaveChartOther from './components/SaveChartOther';
 import changeLang from "./components/changeLang.vue"
 import setEnNameDia from "./components/setEnNameDia.vue"
 import EdbLabelList from '../../components/edbLabelList.vue';
+import setLangInfoDia from './components/setLangInfo.vue'
 export default {
   name: '',
   components: {
@@ -894,7 +844,8 @@ export default {
     SaveChartOther,
     changeLang,
     setEnNameDia,
-    EdbLabelList
+    EdbLabelList,
+    setLangInfoDia
   },
   directives: {
     drag(el, bindings) {
@@ -1102,14 +1053,14 @@ export default {
       dataBaseInterface.chartClassify({IsShowMe:this.isOnlyMe}).then((res) => {
         if (res.Ret === 200) {
           this.showData = true;
-          this.currentLang = res.Data.Language === 'EN' ? 'en' : 'ch';
-					this.setLangIntoStore();
+          // this.currentLang = res.Data.Language === 'EN' ? 'en' : 'ch';
+					// this.setLangIntoStore();
 
           const arr=res.Data.AllNodes || [];
           this.treeData = arr.map(item=>{
 						return {
 							...item,
-							isLeaf:item.Children.length?false:true
+							isLeaf:item.Children.length?false:true,
 						}
 					})
 
@@ -1210,7 +1161,7 @@ export default {
       //目录名称可以双击修改 指标不能
       if (!data.ChartInfoId && data.Button.OpButton&&this.permissionBtn.isShowBtn('chartLibPermission','chartLib_classifyOpt_add')) {
         this.$set(data, 'isEdit', true);
-        this.new_label = data.ChartClassifyName;
+        this.new_label = this.currentLang==='en'?data.ChartClassifyNameEn:data.ChartClassifyName;
         this.$nextTick(() => {
           this.$refs.editVal.focus();
         });
@@ -1220,8 +1171,7 @@ export default {
     changeValue(node, data) {
       if (this.new_label) {
         this.$set(data, 'isEdit', false);
-        this.new_label !== data.ChartClassifyName &&
-          dataBaseInterface
+        dataBaseInterface
             .editChartClassify({
               ChartClassifyId: data.ChartClassifyId,
               ChartClassifyName: this.new_label,
@@ -1257,16 +1207,16 @@ export default {
       this.dialogForm = {
         level_1:
           node.level === 1
-            ? data.ChartClassifyName
+            ? (this.currentLang==='en'?data.ChartClassifyNameEn:data.ChartClassifyName)
             : node.level === 2
-            ? node.parent.data.ChartClassifyName
-            : node.parent.parent.data.ChartClassifyName,
+            ? (this.currentLang==='en'?node.parent.data.ChartClassifyNameEn:node.parent.data.ChartClassifyName)
+            : (this.currentLang==='en'?node.parent.parent.data.ChartClassifyNameEn:node.parent.parent.data.ChartClassifyName),
         level_2:
           node.level === 1
             ? ''
             : node.level === 2
-            ? data.ChartClassifyName
-            : node.parent.data.ChartClassifyName,
+            ? (this.currentLang==='en'?data.ChartClassifyNameEn:data.ChartClassifyName)
+            : (this.currentLang==='en'?node.parent.data.ChartClassifyNameEn:node.parent.data.ChartClassifyName),
         // level_3: node.level === 3 ? data.ChartClassifyName : '',
         parent_id: data.ChartClassifyId,
         level: node.level,
@@ -1283,16 +1233,16 @@ export default {
       this.dialogForm = {
         level_1:
           node.level === 1
-            ? data.ChartClassifyName
+            ? (this.currentLang==='en'?data.ChartClassifyNameEn:data.ChartClassifyName)
             : node.level === 2
-            ? node.parent.data.ChartClassifyName
-            : node.parent.parent.data.ChartClassifyName,
+            ? (this.currentLang==='en'?node.parent.data.ChartClassifyNameEn:node.parent.data.ChartClassifyName)
+            : (this.currentLang==='en'?node.parent.parent.data.ChartClassifyNameEn:node.parent.parent.data.ChartClassifyName),
         level_2:
           node.level === 1
             ? ''
             : node.level === 2
-            ? data.ChartClassifyName
-            : node.parent.data.ChartClassifyName,
+            ? (this.currentLang==='en'?data.ChartClassifyNameEn:data.ChartClassifyName)
+            : (this.currentLang==='en'?node.parent.data.ChartClassifyNameEn:node.parent.data.ChartClassifyName),
         level_3: node.level === 3 ? data.ChartClassifyName : '',
         classify_id: data.ChartClassifyId,
         level: node.level,
@@ -1727,6 +1677,10 @@ export default {
 
     },
 
+    getChartInfo(){
+      this.getChartDetail()
+    },
+
     /* 设置默认时间选中项 */
     setDefaultDateSelect() {
       this.year_select = this.chartInfo.DateType;
@@ -2028,11 +1982,11 @@ export default {
     },
     /* 点击复制先用canvas画出 转成图片在放到粘贴板中 */
     copyChartHandle:_.debounce(function(type){{
-      let chartsName = this.currentLang=='ch'?this.chartInfo.ChartName:this.chartInfo.ChartNameEn
+      let chartsName = this.currentLang==='zh'?this.chartInfo.ChartName:this.chartInfo.ChartNameEn
       let { heightNum, widthNum , newTitle , dynamic_copyOptions} = this.dynamicWidthAndHeight(type,this.chartInfo.ChartType,chartsName,this.chartInfo.Source === 1?this.tableData.length:this.commodityChartData.length)
       const chartType = this.sameOptionType.includes(this.chartInfo.ChartType)?'legend':'seasonLegend'
       // 英文转SVG设置变动
-      if(this.currentLang == 'en'){
+      if(this.currentLang === 'en'){
         // 散点图 如果横轴单位为'英文单位',表示客户没填,转成svg时置为空
         if(this.chartInfo.ChartType == 5){
           this.$refs.chartRef.chart.options.xAxis.forEach(it => {
@@ -2465,9 +2419,9 @@ export default {
     },
 
     /* 存储中英文状态 */
-		setLangIntoStore() {
-			this.$store.commit('edb/SET_CAHRT_LANG',this.currentLang)
-		},
+		// setLangIntoStore() {
+		// 	this.$store.commit('edb/SET_CAHRT_LANG',this.currentLang)
+		// },
     /* 获取标签列表 */
     getlabelList(){
         const List = JSON.parse(sessionStorage.getItem('etachart'))||[]

+ 6 - 6
src/views/dataEntry_manage/codecount/index.vue

@@ -125,7 +125,7 @@
 									<el-option
 										v-for="item in searchOptions"
 										:key="item.EdbInfoId"
-										:label="eta_lang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName"
+										:label="currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName"
 										:value="item.EdbInfoId"
 										:disabled="!item.HaveOperaAuth"
 									>
@@ -137,7 +137,7 @@
 												style="vertical-align:middle" 
 												v-if="!item.HaveOperaAuth"
 											/>
-											{{eta_lang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName}}
+											{{currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName}}
 										</div>
 									</el-option>
 								</el-select>
@@ -186,7 +186,7 @@ export default {
 	components: { codeMirror,dataTable },
 	computed: {
 		...mapState({
-			eta_lang: state => state.edb.eta_lang,	
+			currentLang: state => state.lang,	
 		})
 	},
 	data () {
@@ -282,13 +282,13 @@ export default {
 				if(res.Ret !== 200) return
 				
 				const { EdbInfoDetail,PythonCode } = res.Data;
-				const { EdbName,ClassifyId,Frequency,Unit } = EdbInfoDetail;
+				const { EdbName,EdbNameEn,ClassifyId,Frequency,Unit,UnitEn } = EdbInfoDetail;
 
 				this.formData = {
-					edb_name: EdbName,
+					edb_name: this.currentLang==='en'?EdbNameEn:EdbName,
 					menu: ClassifyId,
 					frequency: Frequency,
-					unit: Unit
+					unit: this.currentLang==='en'?UnitEn:Unit
 				}
 				this.runCode = PythonCode
 				

+ 1 - 1
src/views/dataEntry_manage/components/SaveChartOther.vue

@@ -30,7 +30,7 @@
           v-model="form.classify"
           :options="classifyOptions"
           :props="{
-            label: 'ChartClassifyName',
+            label: currentLang==='en'?'ChartClassifyNameEn':'ChartClassifyName',
             value: 'ChartClassifyId',
             children: 'Children',
             emitPath: false

+ 177 - 0
src/views/dataEntry_manage/components/chartReleationEdbTable.vue

@@ -0,0 +1,177 @@
+<template>
+  <el-table
+    :data="tableData"
+    ref="tableRef"
+    highlight-current-row
+    border
+  >
+    <el-table-column type="expand" v-if="![10,11].includes(chartInfo.ChartType)">
+      <template slot-scope="{row,$index}">
+        <div class="expand-wrap">
+          <div class="data-change">
+            <el-checkbox v-model="updateData[$index].IsConvert">数据转换</el-checkbox>
+            <el-select v-model="updateData[$index].ConvertType">
+              <el-option label="乘以" :value="1"></el-option>
+              <el-option label="除以" :value="2"></el-option>
+              <el-option label="对数" :value="3"></el-option>
+            </el-select>
+          <el-input type="number" v-model="updateData[$index].ConvertValue"></el-input>
+          </div>
+          <div class="unit-change">
+            <label>单位</label>
+            <el-input v-model="updateData[$index].ConvertUnit"></el-input>
+            <label>英文单位</label>
+            <el-input v-model="updateData[$index].ConvertEnUnit"></el-input>
+          </div>
+          <!--柱形图-->
+          <div class="use-change" v-if="chartInfo.ChartType===7">
+            <el-radio v-model="useUnit" :label="$index">设置为图表单位</el-radio>
+          </div>
+          <div class="confirm-btn">
+            <el-button type="text" @click="changeTableData($index)">保存</el-button>
+          </div>
+        </div>
+      </template>
+    </el-table-column>
+    <el-table-column
+      v-for="item in tableColums"
+      :key="item.label"
+      :label="item.label"
+      :width="item.widthsty"
+      :min-width="item.minwidthsty"
+      align="center"
+    >
+      <template slot-scope="scope">
+        <div v-if="item.key === 'EdbName' && [1,4,6,7,11].includes(chartInfo.ChartType)">
+          <!-- 柱状图用别名 -->
+          <el-input 
+            v-model="scope.row.EdbAliasName"
+            placeholder="指标别名"
+            class="target-other-name"
+            clearable
+          />
+        </div>
+        <span v-else>{{ scope.row[item.key] }}</span>
+      </template>
+    </el-table-column>
+    <el-table-column
+      :label="$t('Table.column_operations')"
+      key="Copy"
+      align="center"
+      width="140"
+    >
+      <template slot-scope="scope" v-if="scope.row.HaveOperaAuth">
+        <span @click="delTarget(scope.row)" class="deletesty"><!-- 删除 -->{{$t('Table.delete_btn')}}&nbsp;</span>
+        <span v-permission="permissionBtn.chartLibPermission.chartLib_copyData"
+          class="editsty" @click="copyCode(scope.row)">
+          <i class="el-icon-document-copy" />&nbsp;<!-- 复制数据 -->{{$t('Edb.detail_copydata_btn')}}</span
+        ><br>
+        <span v-permission="permissionBtn.chartLibPermission.chartLib_viewData"
+          class="editsty"
+          @click="viewTarget(scope.row)"
+        ><!-- 查看数据 -->{{$t('Edb.detail_lookdata_btn')}}</span>
+      </template>
+    </el-table-column>
+    <div slot="empty">
+        <tableNoData :text="$t('Table.no_edb_msg')" size="mini"/>
+    </div>
+  </el-table>
+</template>
+<script>
+export default {
+  props: {
+    tableData: {
+      type: Array,
+      required:true
+    },
+    chartInfo: {
+      type: Object,
+      required:true
+    },
+    updateData: {
+      type:Array
+    }
+  },
+  computed:{
+    tableColums(){
+      return [
+        {
+          label: this.$t('Edb.Detail.e_name'),
+          key: 'EdbName',
+          enKey:'EdbNameEn',
+          inputTip:'点击输入英文指标名称',
+          minwidthsty: '150px',
+        },
+        {
+          label: this.$t('Edb.Detail.e_id'),
+          key: 'EdbCode',
+          widthsty: '120px',
+        },
+        {
+          label: this.$t('Edb.Detail.e_fre'),
+          key: 'Frequency',
+          enKey:'FrequencyEn',
+          minwidthsty: '60px',
+        },
+        {
+          label: this.$t('Edb.Detail.e_unit'),
+          key: 'Unit',
+          enKey:'UnitEn',
+          inputTip:'英文单位',
+          minwidthsty: '50px',
+        },
+        {
+          label: this.$t('Edb.Detail.e_start_time'),
+          key: 'StartDate',
+          minwidthsty: '100px',
+        },
+        {
+          label: this.$t('Edb.Detail.e_latest_date'),
+          key: 'LatestDate',
+          minwidthsty: '90px',
+        },
+        {
+          label: this.$t('Edb.Detail.e_latest_value'),
+          key: 'LatestValue',
+          minwidthsty: '90px',
+        },
+        {
+          label: this.$t('Edb.Detail.e_recent_time'),
+          key: 'ModifyTime',
+          minwidthsty: '100px',
+        },
+        {
+          label: this.$t('Edb.Detail.source'),
+          key: 'SourceName',
+        },
+      ]
+    }
+  },
+  data() {
+    return {
+    }
+  },
+  mounted(){
+  },
+  methods:{
+    changeTableData(index) {
+      this.$emit('changeTableData',index)
+    },
+    
+    delTarget(row) {
+      this.$emit('delTarget',row)
+    },
+
+    copyCode(row) {
+      this.$emit('copyCode',row)
+    },
+
+    viewTarget(row) {
+      this.$emit('viewTarget',row)
+    }
+  },
+}
+</script>
+<style scoped lang='scss'>
+
+</style>

+ 443 - 0
src/views/dataEntry_manage/components/setLangInfo.vue

@@ -0,0 +1,443 @@
+<template>
+  <!-- 修改语言版本对应信息 复用设置英文弹窗 -->
+  <el-dialog 
+    :title="this.$t('Edb.detail_en_btn')" 
+    :visible.sync="isOpenDialog" 
+    :close-on-click-modal="false" 
+    :modal-append-to-body='false'
+    @close="cancel" 
+    custom-class="set-en-dialog" 
+    width="800px" 
+    v-dialogDrag
+  >
+      <el-form v-if="cType=='chart'" style="padding:0 40px" label-width="140px">
+        <!-- 截面散点图 -->
+        <div class="set-en-name-box" v-if="chartType===10">
+          <el-collapse v-model="activeNames" class="sectionScatter-collapse">
+            <el-collapse-item :title="$t('Chart.Detail.chart_name')" :name="0" >
+              <ul class="section-ul">
+                <li v-if="copyFormData.chartInfo.length">
+                  <el-input v-model="copyFormData.chartInfo[0].value" :placeholder="$t('Chart.InputHolderAll.input_common',{label:this.$t('Chart.Detail.chart_name')})" style="width: 600px;"/>
+                </li>
+                <li>
+                  <div class="ch-name"><!-- X轴名称: -->{{$t('Chart.Detail.x_name')}}</div>
+                  
+                  <el-input 
+                    v-model="updateInfo.XNameEn" 
+                    :placeholder="$t('Chart.InputHolderAll.input_common',{label:$t('Chart.Detail.x_name')})" 
+                    v-if="currentLang==='en'"
+                  />
+                  <el-input 
+                    v-model="updateInfo.XName" 
+                    :placeholder="$t('Chart.InputHolderAll.input_common',{label:$t('Chart.Detail.x_name')})" 
+                    v-else
+                  />
+                </li>
+                <li>
+                  <div class="ch-name"><!-- X轴单位 -->{{$t('Chart.Detail.x_unit')}}</div>
+
+                  <el-input 
+                    v-model="updateInfo.XUnitNameEn" 
+                    :placeholder="$t('Chart.InputHolderAll.input_unit')" 
+                    v-if="currentLang==='en'"
+                  />
+                  <el-input 
+                    v-model="updateInfo.XUnitName" 
+                    :placeholder="$t('Chart.InputHolderAll.input_unit')" 
+                    v-else
+                  />
+                </li>
+                <li>
+                  <div class="ch-name"><!-- Y轴名称: -->{{$t('Chart.Detail.y_name')}}</div>
+
+                  <el-input 
+                    v-model="updateInfo.YNameEn" 
+                    :placeholder="$t('Chart.InputHolderAll.input_common',{label:$t('Chart.Detail.y_name')})"
+                    v-if="currentLang==='en'"
+                  />
+                  <el-input 
+                    v-model="updateInfo.YName" 
+                    :placeholder="$t('Chart.InputHolderAll.input_common',{label:$t('Chart.Detail.y_name')})"
+                    v-else
+                  />
+                </li>
+                <li>
+                  <div class="ch-name"><!-- Y轴单位 -->{{$t('Chart.Detail.y_unit')}}</div>
+
+                  <el-input 
+                    v-model="updateInfo.YUnitNameEn" 
+                    :placeholder="$t('Chart.InputHolderAll.input_unit')" 
+                    v-if="currentLang==='en'"
+                  />
+                  <el-input 
+                    v-model="updateInfo.YUnitName" 
+                    :placeholder="$t('Chart.InputHolderAll.input_unit')" 
+                    v-else
+                  />
+                </li>
+
+              </ul>
+            </el-collapse-item>
+            
+            <!-- 系列标签 -->
+            <el-collapse-item :title="$t('EtaChartPage.label_tag_serie')" :name="1" v-if="updateInfo.SeriesList">
+              <ul class="section-ul">
+                <li v-for="(item,index) in updateInfo.SeriesList" :key="index">
+                  <div class="ch-name">{{$t('Chart.Detail.serie_name')}}{{index+1}}</div>
+
+                  <el-input 
+                    v-model="item.NameEn" 
+                    :placeholder="$t('Chart.InputHolderAll.input_en_label')" 
+                    v-if="currentLang==='en'"
+                  />
+                  <el-input 
+                    v-model="item.Name" 
+                    :placeholder="$t('Chart.InputHolderAll.input_en_label')" 
+                    v-else
+                  />
+                </li>
+              </ul>  
+              <ul class="section-ul">
+                <li v-for="(tag,index) in updateInfo.SeriesList[0].EdbInfoList" :key="index">
+                  <div class="ch-name">{{$t('Chart.Detail.tag_name')}}{{index+1}}</div>
+
+                  <el-input 
+                    v-model="tag.NameEn" 
+                    :placeholder="$t('Chart.InputHolderAll.input_en_label')"
+                    v-if="currentLang==='en'"
+                  />
+                  <el-input 
+                    v-model="tag.Name" 
+                    :placeholder="$t('Chart.InputHolderAll.input_en_label')"
+                    v-else
+                  />
+                </li>
+              </ul>
+            </el-collapse-item>
+
+            <!-- 指标 -->
+            <el-collapse-item :title="$t('Edb.Detail.e_name')" :name="2">
+              <ul class="section-ul">
+                <li v-for="(item,index) in fromEdbList" :key="index">
+                  <!-- <div class="ch-name text_oneLine">{{item.EdbName}}</div> -->
+
+                  <el-input 
+                    v-model="item.EdbNameEn" 
+                    :placeholder="$t('Chart.InputHolderAll.input_en_label')" 
+                    v-if="currentLang==='en'"
+                  />
+                  <el-input 
+                    v-model="item.EdbName" 
+                    :placeholder="$t('Chart.InputHolderAll.input_en_label')" 
+                    v-else
+                  />
+                </li>
+              </ul>  
+            </el-collapse-item>  
+          </el-collapse>
+        </div>
+
+        <!-- 跨品种分析图 -->
+         <div class="set-en-name-box" v-else-if="formData.chartInfo&&formData.chartInfo[0].source===10">
+          <el-collapse v-model="activeNames" class="sectionScatter-collapse">
+            <el-collapse-item :title="$t('Chart.Detail.chart_name')" :name="0" >
+              <ul class="section-ul" v-if="copyFormData.chartInfo.length">
+                <li>
+                  <el-input v-model="copyFormData.chartInfo[0].value" :placeholder="$t('Chart.InputHolderAll.input_common',{label:$t('Chart.Detail.chart_name')})" style="width: 600px;"/>
+                </li>
+                <li>
+                  <div class="ch-name"><!-- X轴名称: -->{{$t('Chart.Detail.x_name')}}</div>
+                  
+                  <el-input 
+                    v-model="copyFormData.chartInfo[1].value" 
+                    :placeholder="$t('Chart.InputHolderAll.input_common',{label:$t('Chart.Detail.x_name')})"
+                  />
+                </li>
+                <li>
+                  <div class="ch-name"><!-- Y轴名称: -->{{$t('Chart.Detail.y_name')}}</div>
+
+                  <el-input 
+                    v-model="copyFormData.chartInfo[2].value" 
+                    :placeholder="$t('Chart.InputHolderAll.input_common',{label:$t('Chart.Detail.y_name')})"
+                  />
+                </li>
+
+              </ul>
+            </el-collapse-item>
+            
+            <!-- 品种 -->
+            <el-collapse-item :title="$t('Chart.Detail.variety_name')" :name="1">
+              <ul class="section-ul" v-if="copyFormData.chartsList.length">
+                <li v-for="(item,index) in copyFormData.chartsList" :key="index">
+                  <div class="ch-name">{{$t('Chart.Detail.variety_name')}}{{index+1}}</div>
+
+                  <el-input 
+                    v-model="item.value" 
+                    :placeholder="$t('Chart.InputHolderAll.input_common',{label:$t('Chart.Detail.variety_name')})"
+                  />
+                </li>
+              </ul>
+            </el-collapse-item>
+          </el-collapse>
+        </div>
+
+        <!-- 普通图 -->
+        <div class="set-en-name-box" v-else>
+          <el-form-item :label="item.label+':'" :prop="item.key" v-for="item in copyFormData.chartInfo" :key="item.key">
+            <el-input v-model="item.value" :placeholder="item.placeholder" ></el-input>
+          </el-form-item>
+
+          <!-- 指标列表 -->
+          <el-collapse v-model="activeNames" v-if="copyFormData.chartsList.length">
+            <el-collapse-item :title="item[0].value" :name="index" v-for="(item,index) in copyFormData.chartsList" :key="index">
+              <el-form-item :label="it.label+':'" :prop="it.key"  v-for="(it) in item" :key="it.key">
+
+                <el-input v-model="it.value" :placeholder="it.placeholder" ></el-input>
+              </el-form-item>
+            </el-collapse-item>
+          </el-collapse>
+        </div>
+			</el-form>
+
+      <!-- 指标 -->
+			<el-form v-else label-width="120px" >
+				<el-form-item :label="item.label+':'" :prop="item.key" v-for="item in copyFormData" :key="item.key">
+          <el-input v-model="item.value" :placeholder="item.placeholder" style="width: 100%;"></el-input>
+				</el-form-item>
+			</el-form>
+
+      <div class="btn-bottom">
+        <el-button type="primary" @click="saveLangHandle" style="margin-right:20px"><!-- 确定 -->{{$t('Dialog.confirm_btn')}}</el-button>
+        <el-button @click="cancel"><!-- 取消 -->{{$t('Dialog.cancel_btn')}}</el-button>
+      </div>
+		</el-dialog>
+</template>
+<script>
+export default {
+  name:"setLangInfo",
+  computed: {
+    currentLang() {
+      return this.$store.state.lang
+    }
+  },
+  data() {
+    return {
+      langData:{
+        ChartInfoId:'',
+        ChartNameEn:'',
+        ChartEdbInfoList:[
+
+        ]
+      },
+      copyFormData:{
+        chartInfo:[],
+        chartsList:[]
+      },
+      activeNames: [0],
+
+      fromEdbList: [],
+      updateInfo: {}
+    }
+  },
+  props:{
+    cType:{
+      type:String,
+      default:'chart'
+    },
+    isOpenDialog:{
+      type:Boolean,
+      required:true,
+      default:false
+    },
+    formData:{
+      type:Array,
+      required:true,
+      default:[]
+    },
+    chartType: {
+      type: Number
+    },
+    datainfo: {
+      default: null
+    },
+    edblist: {
+      default: () => []
+    }
+  },
+  watch:{
+    isOpenDialog(newVal){
+      // 默认展开第一项
+      if(newVal){
+        this.activeNames=[0]
+        this.copyFormData = _.cloneDeep(this.formData);
+
+        this.fromEdbList = _.cloneDeep(this.edblist);
+        this.updateInfo = _.cloneDeep(this.datainfo);
+
+        console.log(this.updateInfo)
+      }
+    }
+  },
+  methods:{
+    cancel(){
+      this.copyFormData={
+        chartInfo:[],
+        chartsList:[]
+      }
+      this.$emit('cancel')
+    },
+
+    /* 截面散点图设置英文 */
+    setSectionScatterLang(){
+      let ChartEdbInfoList = this.fromEdbList.map( _ => ({
+        EdbInfoId: _.EdbInfoId,
+        EdbName: this.currentLang==='en'?_.EdbNameEn:_.EdbName,
+        Unit: this.currentLang==='en'?_.UnitEn:_.Unit,
+      }))
+      this.updateInfo.SeriesList.forEach((item,index) => {
+        if(index) {
+          item.EdbInfoList.forEach((edb,edb_index) => {
+            const {NameEn} = this.updateInfo.SeriesList[0].EdbInfoList[edb_index];
+            edb.NameEn= NameEn;
+          })
+        }
+      })
+      
+      let ExtraConfig = JSON.stringify(this.updateInfo);
+      let params = {
+        ChartInfoId: this.copyFormData.chartInfo[0].id,
+        ChartName: this.copyFormData.chartInfo[0].value.trim(),
+        ChartEdbInfoList,
+        ExtraConfig
+      }
+      this.$emit('updateLang',params)
+    },
+
+    /* 跨品种分析参数设置 */
+    setCrossVarietyLang() {
+      console.log(this.copyFormData)
+      const { chartInfo,chartsList }  = this.copyFormData;
+      let params = {
+        ChartInfoId: chartInfo[0].id,
+        ChartName: chartInfo[0].value.trim(),
+        TagList: [
+          { ChartTagId: chartInfo[1].id,TagName: chartInfo[1].value },
+          { ChartTagId: chartInfo[2].id,TagName: chartInfo[2].value }
+        ],
+        VarietyList: chartsList.map(_ => ({
+          ChartVarietyId: _.id,
+          VarietyName: _.value
+        }))
+      }
+      this.$emit('updateLang',params)
+    },
+
+    /* 设置通用图表 */
+    setChartLang() {
+      this.langData.ChartInfoId = this.copyFormData.chartInfo[0].id // 表格ID
+      this.langData.ChartName = this.copyFormData.chartInfo[0].value.trim() 
+
+      if(this.copyFormData.chartInfo[1]) {
+        if(this.copyFormData.chartInfo[1].key==='FutureGoodName') {
+          this.langData.FutureGoodName = this.copyFormData.chartInfo[1].value.trim() // 期货名称
+        }else if(this.copyFormData.chartInfo[1].key==='ProfitName') {
+          this.langData.ProfitName = this.copyFormData.chartInfo[1].value.trim() // 利润名称
+        }
+      }
+      let chartEdbInfoListTem=[]
+      this.copyFormData.chartsList.map((item,index)=>{
+        let params ={}
+        params.EdbInfoId = item[0].id
+        item.filter(it => !it.notEdit) .map((it,i)=>{
+          params[it.key] = it.value
+        })
+        chartEdbInfoListTem.push(params)
+      })
+      this.langData.ChartEdbInfoList=chartEdbInfoListTem
+      this.$emit('updateLang',this.langData)
+    },
+
+    /* 设置指标 */
+    setEdbLang() {
+       // 指标库
+      let params={}
+      this.copyFormData.filter(it => !it.notEdit).map(item => {
+        params[item.key] = item.value.trim()
+      })
+
+      this.$emit('updateLang',params)
+    },
+
+    saveLangHandle(){
+
+      if(this.cType === 'chart'&&this.chartType === 10) return this.setSectionScatterLang();
+
+      else if(this.cType === 'chart'&&this.copyFormData.chartInfo[0].source === 10) return this.setCrossVarietyLang();
+      
+      if(JSON.stringify(this.copyFormData) === JSON.stringify(this.formData)){
+        // 没有修改过
+        this.$emit('cancel')
+        return
+      }
+
+      this.cType === 'chart' ? this.setChartLang() : this.setEdbLang();
+    }
+  }
+}
+</script>
+<style lang="scss">
+.set-en-dialog {
+  .el-dialog__body {
+    max-height:600px;
+    overflow-y:auto;
+  }
+  .set-en-name-box{
+    .el-collapse-item__header{
+      background-color:#DCDFE6;
+      padding-left:8px;
+      font-size: 16px;
+      font-weight: 400;
+      color: #333333;
+      margin-bottom:0;
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      // text-overflow: ellipsis;
+      // white-space: nowrap;
+      overflow: hidden;
+      line-height: inherit;
+      .el-collapse-item__arrow{
+        margin-left: 12px;
+      }
+    }
+    .el-input{
+      width: 100%;
+    }
+    .el-collapse-item__content{
+      padding:18px 8px 0 8px;
+    }
+  }
+}
+
+
+</style>
+<style scoped lang="scss">
+  .section-ul {
+    display: flex;
+    justify-content: space-between;
+    flex-wrap: wrap;
+    li {
+      margin-bottom: 20px;
+      .ch-name {
+        margin-bottom: 10px;
+        width: 250px;
+      }
+      .el-input {  min-width: 240px;}
+    }
+  }
+  .btn-bottom {
+    display: flex;
+    margin: 40px 0;
+    justify-content: center;
+  }
+</style>

+ 26 - 22
src/views/dataEntry_manage/databaseComponents/batchComptedDialog.vue

@@ -508,13 +508,15 @@ export default {
 		NchangeHandle(tag) {
 			let obj = this.targetList.find(item => item.tag === tag);
 			const edbInfo = this.searchOptions.find(item => item.EdbInfoId === obj.target);
+			let edbName = this.$parent.currentLang==='en'?edbInfo.EdbNameEn:edbInfo.EdbName;
+
 			const name_map = {
-				8: edbInfo.EdbName,
-				12: `${edbInfo.EdbName}${obj.n_num}${obj.frequency.slice(0,1)}环比`,
-				13: `${edbInfo.EdbName}${obj.n_num}${obj.frequency.slice(0,1)}环差`,
-				39: edbInfo.EdbName,
-				43: `${edbInfo.EdbName}${obj.n_num}${obj.frequency.slice(0,1)}环比`,
-				44: `${edbInfo.EdbName}${obj.n_num}${obj.frequency.slice(0,1)}环差`,
+				8: edbName,
+				12: `${edbName}${obj.n_num}${obj.frequency.slice(0,1)}环比`,
+				13: `${edbName}${obj.n_num}${obj.frequency.slice(0,1)}环差`,
+				39: edbName,
+				43: `${edbName}${obj.n_num}${obj.frequency.slice(0,1)}环比`,
+				44: `${edbName}${obj.n_num}${obj.frequency.slice(0,1)}环差`,
 			}
       obj.targetName = name_map[this.type] || '';
 		},
@@ -528,81 +530,83 @@ export default {
 		转月 平均计算 升频默认指标名称同步
 		*/
 		setDefaultOption(obj,list) {
+			let edbName = this.$parent.currentLang==='en'?obj.EdbNameEn:obj.EdbName;
+			let unit = this.$parent.currentLang ==='en'?obj.UnitEn:obj.Unit;
 
 			switch (this.type) {
 				case 6:
 				case 32: 
 					return {
-						targetName: `${obj.EdbName}同比`,
+						targetName: `${edbName}同比`,
 						unit: '无',
 						frequency: obj.Frequency
 					}
 				case 7: 
 				case 33: 
 					return {
-						targetName: `${obj.EdbName}同差`,
-						unit: obj.Unit,
+						targetName: `${edbName}同差`,
+						unit,
 						frequency: obj.Frequency
 					}
 				case 8: 
 				case 39: 
 					return {
-						targetName: obj.EdbName,
-						unit: obj.Unit,
+						targetName: edbName,
+						unit,
 						frequency: obj.Frequency
 					}
 				case 14:
 				case 45: return {
-									targetName: obj.EdbName,
-									unit: obj.Unit,
+									targetName: edbName,
+									unit,
 									frequency: '日度'
 								}
 				case 12:
 				case 43: 
 					return{
-						targetName: `${obj.EdbName}${list.n_num}${obj.Frequency.slice(0,1)}环比`,
+						targetName: `${edbName}${list.n_num}${obj.Frequency.slice(0,1)}环比`,
 						unit: '无',
 						frequency: obj.Frequency
 					}
 				case 13: 
 				case 44: 
 					return {
-						targetName: `${obj.EdbName}${list.n_num}${obj.Frequency.slice(0,1)}环差`,
+						targetName: `${edbName}${list.n_num}${obj.Frequency.slice(0,1)}环差`,
 						unit: '无',
 						frequency: obj.Frequency
 					}
 				case 5:
 				case 42: 
 					return {
-						targetName: obj.EdbName,
-						unit: obj.Unit,
+						targetName: edbName,
+						unit,
 						frequency: obj.Frequency
 					}
 				case 61:
 				case 64: 
 					return {
-						targetName: obj.EdbName,
+						targetName: edbName,
 						unit: '无',
 						frequency: '季度'
 					}
 				case 62:
 				case 65: 
 					return {
-						targetName: obj.EdbName,
+						targetName: edbName,
 						unit: '无',
 						frequency: obj.Frequency
 					}
 				case 63:
 				case 66: 
 					return {
-						targetName: obj.EdbName,
+						targetName: edbName,
 						unit: '无',
 						frequency: obj.Frequency
 					}
 				case 75: 
 					return {
-						targetName: `${obj.EdbName}日均值`,
-						unit: obj.Unit,
+						targetName: `${edbName}日均值`,
+						unit,
 						frequency: obj.Frequency,
 						menu: obj.ClassifyId,
 					}

+ 38 - 27
src/views/dataEntry_manage/databaseComponents/batchComputedSave.vue

@@ -5,7 +5,7 @@
             border 
             height="500px"
         >
-            <el-table-column label="指标全称" align="center" prop="EdbName"/>
+            <el-table-column label="指标全称" align="center" :prop="$parent.currentLang==='en'?'EdbNameEn':'EdbName'"/>
             <el-table-column label="生成指标名称" align="center">
                 <template slot-scope="scope">
                     <el-input :disabled="operationForm.view" v-model="scope.row.name" placeholder="请填写指标名称" style="width:100%"/>
@@ -80,7 +80,10 @@ export default {
             if(!this.computedType) return 0
             if(this.subComputedType) return this.subComputedType
             return ['withNum','withEDB'].includes(this.computedType)?4:this.computedType
-        }
+        },
+        currentLang() {
+			return this.$store.state.lang
+		}
     },
     data() {
         return {
@@ -117,11 +120,14 @@ export default {
                 this.computedArr=this.selectList
                 // 如果是编辑时
                 if(this.isEdit){
+                    let EdbName = this.currentLang==='en'?this.operationForm.EdbInfoDetail.EdbNameEn:this.operationForm.EdbInfoDetail.EdbName;
+                    let unit = this.currentLang==='en'?this.operationForm.EdbInfoDetail.UnitEn:this.operationForm.EdbInfoDetail.Unit;
+
                     this.list=[{
-                        EdbName:this.operationForm.EdbInfoDetail.EdbName,
+                        EdbName,
                         EdbInfoId:this.operationForm.EdbInfoDetail.EdbInfoId,
-                        name:this.operationForm.EdbInfoDetail.EdbName,
-                        unit:this.operationForm.EdbInfoDetail.Unit,
+                        name:EdbName,
+                        unit,
                         frequency:this.operationForm.EdbInfoDetail.Frequency,
                         classify:this.operationForm.EdbInfoDetail.ClassifyId
                     }]
@@ -140,8 +146,11 @@ export default {
         },
         // 设置默认值
         setDefaultVal(item){
+            let EdbName = this.currentLang==='en'?item.EdbNameEn:item.EdbName;
+            let unit = this.currentLang==='en'?item.UnitEn:item.Unit;
+
             const obj={
-                EdbName:item.EdbName,
+                EdbName:EdbName,
                 EdbInfoId:item.EdbInfoId,
                 name:'',
                 unit:'',
@@ -157,24 +166,24 @@ export default {
 				['年度','Y'],
 			])
 			const name_map = {
-                4:item.EdbName,
-				5: `${item.EdbName}转月值`,
-				8: `${item.EdbName}/${this.formData.nNum}${tMap.get(item.Frequency)}MA`,
-				14: `${item.EdbName}/日频`,
-				6: `${item.EdbName}同比`,
-				7: `${item.EdbName}同差`,
-				12: `${item.EdbName}${this.formData.nNum}${item.Frequency.slice(0,1)}环比`,
-				13: `${item.EdbName}${this.formData.nNum}${item.Frequency.slice(0,1)}环差`,
-				35: `${item.EdbName}超季节性/${this.formData.nNum}年${this.formData.calendarType==='公历'?'':'/'+this.formData.calendarType}`,
-				52: `${item.EdbName}年化值`,
-				51: `${item.EdbName}/${this.formData.frequency.substr(0,1)}频`,
-				61:  `${item.EdbName}转季值`,
-				62:  `${item.EdbName}累计值/${this.formData.frequency}`,
-				63:  `${item.EdbName}年初至今累计值`,
-                72:`${item.EdbName}指数修匀`,
-				75: `${item.EdbName}日均值`,
-                81:item.EdbName,
-                82:item.EdbName,
+                4:EdbName,
+				5: `${EdbName}转月值`,
+				8: `${EdbName}/${this.formData.nNum}${tMap.get(item.Frequency)}MA`,
+				14: `${EdbName}/日频`,
+				6: `${EdbName}同比`,
+				7: `${EdbName}同差`,
+				12: `${EdbName}${this.formData.nNum}${item.Frequency.slice(0,1)}环比`,
+				13: `${EdbName}${this.formData.nNum}${item.Frequency.slice(0,1)}环差`,
+				35: `${EdbName}超季节性/${this.formData.nNum}年${this.formData.calendarType==='公历'?'':'/'+this.formData.calendarType}`,
+				52: `${EdbName}年化值`,
+				51: `${EdbName}/${this.formData.frequency.substr(0,1)}频`,
+				61:  `${EdbName}转季值`,
+				62:  `${EdbName}累计值/${this.formData.frequency}`,
+				63:  `${EdbName}年初至今累计值`,
+                72:`${EdbName}指数修匀`,
+				75: `${EdbName}日均值`,
+                81:EdbName,
+                82:EdbName,
 			}
 			
 			let frequerncyMap = {
@@ -189,7 +198,7 @@ export default {
             obj.classify=item.ClassifyId||''
 
             if([5,8,14,7,35,75].includes(this.sourceTypeVal)){
-                obj.unit=item.Unit
+                obj.unit=unit
             }else if([4].includes(this.sourceTypeVal)){
                 obj.unit=''
             }else{
@@ -203,9 +212,11 @@ export default {
 		handleFrequencyChange(e){
 			if(!this.sourceTypeVal||![51,62].includes(this.sourceTypeVal)) return;
             const obj=this.list[e.$index]
+            let EdbName = this.currentLang==='en'?obj.EdbNameEn:obj.EdbName;
+
 			const name_map = {
-				51: `${obj.EdbName}/${obj.frequency.substr(0,1)}频`,
-				62:  `${obj.EdbName}累计值/${obj.frequency}`,
+				51: `${EdbName}/${obj.frequency.substr(0,1)}频`,
+				62:  `${EdbName}累计值/${obj.frequency}`,
 			}
 			this.list[e.$index].name=name_map[this.sourceTypeVal]
 		},

+ 3 - 3
src/views/dataEntry_manage/databaseComponents/batchComputedV2.vue

@@ -293,12 +293,12 @@
                         v-loading="listLoading"
                     >
                         <el-table-column type="selection" min-width="50" align="center" :selectable="filterEdbAuth"/>
-                        <el-table-column label="指标全称" show-overflow-tooltip align="center" prop="EdbName"/>
+                        <el-table-column label="指标全称" show-overflow-tooltip align="center" :prop="$parent.currentLang==='en'?'EdbNameEn':'EdbName'"/>
                         <el-table-column label="最新日期" align="center" prop="EndDate" width="120px" />
                         <el-table-column label="最新值" align="center" show-overflow-tooltip prop="EndValue" width="80px"/>
                         <el-table-column label="创建人" align="center" show-overflow-tooltip prop="SysUserRealName" width="80px"/>
                         <el-table-column label="频度" align="center" prop="Frequency" width="50px"/>
-                        <el-table-column label="单位" show-overflow-tooltip align="center" prop="Unit" width="50px"/>
+                        <el-table-column label="单位" show-overflow-tooltip align="center" :prop="$parent.currentLang==='en'?'UnitEn':'Unit'" width="50px"/>
                     </el-table>
                     <m-page 
                         style="margin-top:10px"
@@ -325,7 +325,7 @@
                                 {{scope.$index|getNoText}}
                             </template>
                         </el-table-column>
-                        <el-table-column label="指标全称" show-overflow-tooltip align="center" prop="EdbName"/>
+                        <el-table-column label="指标全称" show-overflow-tooltip align="center" :prop="$parent.currentLang==='en'?'EdbNameEn':'EdbName'"/>
                         <el-table-column width="50px" align="center" v-if="!operationForm.view">
                             <template slot="header" slot-scope="scope">
                                 <img @click="handleDelSelect('all')" style="width:15px;height:15px;cursor: pointer;" src="~@/assets/img/ai_m/delete.png" alt="">

+ 6 - 6
src/views/dataEntry_manage/databaseComponents/chartTrendRender.vue

@@ -144,7 +144,7 @@ export default {
 		// 语言 ch/en
 		chartLang:{
 			type: String,
-			default:()=> 'ch'
+			default:()=> 'zh'
 		},
 		isShowChartBasis:{
 			type:Boolean,
@@ -464,7 +464,7 @@ export default {
 				data: DataList.map(item=>([item.DataTimestamp, item.Value])),
 				type: 'spline',
 				yAxis: 1,
-				name: this.chartLang=='ch'?`${EdbInfo.EdbName}同比`:EdbInfo.EdbNameEn?`${EdbInfo.EdbNameEn}同比`:'无英文名称',
+				name: this.chartLang=='zh'?`${EdbInfo.EdbName}同比`:EdbInfo.EdbNameEn?`${EdbInfo.EdbNameEn}同比`:'无英文名称',
 				lineWidth: 1
 			})
 			console.log(this.options.series)
@@ -489,7 +489,7 @@ export default {
 
 			// 单位 中文时 为无不显示   英文时 为空提示点击输入
 			// 中文不存在或等于无时 英文显示为空  中文存在且英文不存在时 显示'英文单位'
-			let yTitleText = this.chartLang=='ch'?
+			let yTitleText = this.chartLang=='zh'?
 			(this.chartInfo.Unit && this.chartInfo.Unit!='无') ? this.chartInfo.Unit:'':
 			!this.chartInfo.UnitEn && this.chartInfo.Unit && this.chartInfo.Unit!='无' ? '英文单位':this.chartInfo.UnitEn
 			// title样式  英文为空时,提示文字样式  英文可以点击设置
@@ -522,7 +522,7 @@ export default {
 				...seasonOptions.yAxis,
 			};
 			// 图例名称和图例文字样式
-			let dataName = this.chartLang=='ch'?this.chartInfo.EdbName:this.chartInfo.EdbNameEn?this.chartInfo.EdbNameEn:'无英文名称'
+			let dataName = this.chartLang=='zh'?this.chartInfo.EdbName:this.chartInfo.EdbNameEn?this.chartInfo.EdbNameEn:'无英文名称'
 			let color = this.chartLang=='en'&&(!this.chartInfo.EdbNameEn)?'#999':'#333'
 			let legend={
 				...defaultOpts.legend,
@@ -605,7 +605,7 @@ export default {
               align: 'center',
             },
             title: {
-              text:  this.chartLang=='ch'?this.chartInfo.Unit:
+              text:  this.chartLang=='zh'?this.chartInfo.Unit:
 							!this.chartInfo.UnitEn && this.chartInfo.Unit && this.chartInfo.Unit!='无' ? '英文单位':this.chartInfo.UnitEn,
               align: 'high',
               rotation: 0,
@@ -648,7 +648,7 @@ export default {
               align: 'center',
             },
             title: {
-              text:  this.chartLang=='ch'?this.chartInfo.Unit:
+              text:  this.chartLang=='zh'?this.chartInfo.Unit:
 							!this.chartInfo.UnitEn && this.chartInfo.Unit && this.chartInfo.Unit!='无' ? '英文单位':this.chartInfo.UnitEn,
               align: 'high',
               rotation: 0,

+ 14 - 34
src/views/dataEntry_manage/databaseComponents/createChart.vue

@@ -11,8 +11,7 @@
 		width="80%"
 		v-dialogDrag>
 		<div slot="title" style="display: flex; align-items: center">
-			<span style="font-size: 16px;cursor: pointer;" @click="editEnName" v-if="chartLang=='en'">{{chartInfo.EdbNameEn || '点击输入英文图表名称' }}</span>
-			<span style="font-size: 16px;" v-else>{{chartInfo.EdbName || ''}}</span>
+			<span style="font-size: 16px;">{{currentLang==='en'?(chartInfo.EdbName||chartInfo.EdbNameEn):chartInfo.EdbName}}</span>
 		</div>
 		<h2 style="margin-bottom: 15px" v-if="!isOnlyShowBaseChart">{{chart_type===1 ? '曲线图' : '季节性图'}}</h2>
 		<div class="header">
@@ -132,7 +131,7 @@ export default {
 		// 语言 ch/en
 		chartLang:{
 			type: String,
-			default:()=> 'ch'
+			default:()=> 'zh'
 		}
 	},
 	computed: {
@@ -140,6 +139,10 @@ export default {
 		// 同比,环比,环差,超季节性、 残差展示基础图
 		isOnlyShowBaseChart() {
 			return [6,12,13,35,37].includes(this.chartInfo.Source)
+		},
+
+		currentLang() {
+			return this.$store.state.lang
 		}
 	},
 	watch: {
@@ -407,7 +410,7 @@ export default {
 				data: DataList.map(item=>([item.DataTimestamp, item.Value])),
 				type: 'spline',
 				yAxis: 1,
-				name: this.chartLang=='ch'?`${EdbInfo.EdbName}同比`:EdbInfo.EdbNameEn?`${EdbInfo.EdbNameEn}同比`:'无英文名称',
+				name: this.currentLang=='zh'?`${EdbInfo.EdbName}同比`:`${EdbInfo.EdbNameEn}同比`,
 				lineWidth: 1
 			})
 			console.log(this.options.series)
@@ -430,27 +433,15 @@ export default {
 
 			//y轴
 
-			// 单位 中文时 为无不显示   英文时 为空提示点击输入
-			// 中文不存在或等于无时 英文显示为空  中文存在且英文不存在时 显示'英文单位'
-			let yTitleText = this.chartLang=='ch'?
-			(this.chartInfo.Unit && this.chartInfo.Unit!='无') ? this.chartInfo.Unit:'':
-			!this.chartInfo.UnitEn && this.chartInfo.Unit && this.chartInfo.Unit!='无' ? '英文单位':this.chartInfo.UnitEn
-			// title样式  英文为空时,提示文字样式  英文可以点击设置
-			let yTitleStyle = {}
-			if(this.chartLang=='en'){
-				yTitleStyle.cursor='pointer'
-				if(yTitleText=='英文单位'){
-					yTitleStyle.color="#999"
-				}
-			}
+			let yTitleText = this.currentLang=='zh'?this.chartInfo.Unit:this.chartInfo.UnitEn
+
 			let yItem = {
 				title: {
 					text: yTitleText,
 					align: 'high',
 					rotation: 0,
 					y: -15,
-					offset: 0,
-					style:yTitleStyle
+					offset: 0
 				},
 				labels: {
 					formatter: function (ctx) {
@@ -463,8 +454,8 @@ export default {
 				...seasonOptions.yAxis,
 			};
 			// 图例名称和图例文字样式
-			let dataName = this.chartLang=='ch'?this.chartInfo.EdbName:this.chartInfo.EdbNameEn?this.chartInfo.EdbNameEn:'无英文名称'
-			let color = this.chartLang=='en'&&(!this.chartInfo.EdbNameEn)?'#999':'#333'
+			let dataName = this.currentLang=='zh'?this.chartInfo.EdbName:this.chartInfo.EdbNameEn
+			let color = this.currentLang=='en'&&(!this.chartInfo.EdbNameEn)?'#999':'#333'
 			let legend={
 				...defaultOpts.legend,
 				itemStyle: {
@@ -551,8 +542,7 @@ export default {
               align: 'center',
             },
             title: {
-              text:  this.chartLang=='ch'?this.chartInfo.Unit:
-							!this.chartInfo.UnitEn && this.chartInfo.Unit && this.chartInfo.Unit!='无' ? '英文单位':this.chartInfo.UnitEn,
+              text:  this.currentLang=='zh'?this.chartInfo.Unit:this.chartInfo.UnitEn,
               align: 'high',
               rotation: 0,
               y: -15,
@@ -595,8 +585,7 @@ export default {
               align: 'center',
             },
             title: {
-              text:  this.chartLang=='ch'?this.chartInfo.Unit:
-							!this.chartInfo.UnitEn && this.chartInfo.Unit && this.chartInfo.Unit!='无' ? '英文单位':this.chartInfo.UnitEn,
+              text:  this.currentLang=='zh'?this.chartInfo.Unit:this.chartInfo.UnitEn,
               align: 'high',
               rotation: 0,
               y: -15,
@@ -725,15 +714,6 @@ export default {
 		close() {
 			this.init()
 			this.$emit('close')
-		},
-		// 编辑英文信息弹窗
-		editEnName(){
-			this.$emit('editEnName','chart')
-		},
-		// 竖轴标题点击事件
-		clickYAxisTitle(){
-			console.log(this.chartLang);
-			if(this.chartLang == 'en') this.editEnName()
 		}
 	},
 	created() {},

+ 1 - 1
src/views/dataEntry_manage/databaseComponents/dataAssociateComputeData.vue

@@ -16,7 +16,7 @@
             >
                 <template slot-scope="scope">
                 <!-- 中文 -->
-                <span v-show="currentLang == 'ch'">{{ scope.row[item.key] }}</span>
+                <span v-show="currentLang == 'zh'">{{ scope.row[item.key] }}</span>
                 <!-- 英文 没有内容 只有指标名称、单位可以编辑 -->
                 <!-- 中文没有内容 对应英文显示为空 -->
                 <span

+ 2 - 2
src/views/dataEntry_manage/databaseComponents/edbDetailData.vue

@@ -14,7 +14,7 @@
 					<span>{{item.label}}</span>
 				</template>	
 				<template slot-scope="scope">
-					<span v-show="currentLang=='ch'">{{ scope.row[item.key] }}</span> 
+					<span v-show="currentLang=='zh'">{{ scope.row[item.key] }}</span> 
 					<span v-show="currentLang=='en'">{{scope.row[item.enKey||item.key] || scope.row[item.key]}}</span>
 				</template>
 			</el-table-column>
@@ -73,7 +73,7 @@ export default {
 	props:{
 		currentLang:{
 			type:String,
-			default:'ch'
+			default:'zh'
 		},
 		tableData:{
 			type:Array,

+ 16 - 12
src/views/dataEntry_manage/databaseComponents/fittingResidueDia.vue

@@ -349,12 +349,11 @@ export default {
 				CurrentIndex: page,
 				FilterSource: this.type === 5 ? 2 : this.type === 14 ? 3 : 1
 			}
-			const res=this.isPredict?await preDictEdbInterface.edbSearch(params):await dataBaseInterface.targetSearchByPage(params)
-			// dataBaseInterface.targetSearchByPage({
-			// 	KeyWord:query,
-			// 	CurrentIndex: page,
-			// 	FilterSource: this.type === 5 ? 2 : this.type === 14 ? 3 : 1
-			// }).then(res => {
+			const res=this.isPredict
+				? await preDictEdbInterface.edbSearch(params)
+				: await dataBaseInterface.targetSearchByPage(params)
+
+
 				if(res.Ret !== 200) return
 
 				const { List,Paging } = res.Data;
@@ -363,7 +362,6 @@ export default {
 
 				this.searchOptions = this.operationForm.edb_id ? arr.filter(item => item.EdbInfoId !== this.operationForm.edb_id) : arr;
 					
-			// })
 		},
 
 		searchLoad() {
@@ -373,15 +371,16 @@ export default {
 
 		/* 获取目录结构 */
 		async getMenu() {
-			const res=this.isPredict?await preDictEdbInterface.classifyListV2():await dataBaseInterface.menuListV3()
-			// dataBaseInterface.menuList().then((res) => {
+			const res=this.isPredict
+				?await preDictEdbInterface.classifyListV2()
+				:await dataBaseInterface.menuListV3()
+
 				if (res.Ret === 200) {
 					
 					this.filterNodes(res.Data.AllNodes);
 					this.options = res.Data.AllNodes || [];
 					
 				}
-			// });
 		},
 		// 递归改变第三级目录结构
 		filterNodes(arr) {
@@ -402,7 +401,12 @@ export default {
 		/* 选择指标时同步日期 */
 		changeTarget(type,val) {
 			const choose_obj = this.searchOptions.find(item => item.EdbInfoId === val);
-			type === 'depend' ? this.depend_edb_name =  choose_obj && choose_obj.EdbName : this.self_edb_name = choose_obj&&choose_obj.EdbName||'';
+
+			if(type==='depend') {
+				this.depend_edb_name =  choose_obj && (this.$parent.currentLang==='en'?choose_obj.EdbNameEn:choose_obj.EdbName)
+			}else {
+				this.self_edb_name = choose_obj&&(this.$parent.currentLang==='en'?choose_obj.EdbNameEn:choose_obj.EdbName)
+			}
 			//默认拼接名称
 			if(this.formData.depend_variate && this.formData.self_variate) {
 				this.formData.edb_name = `${this.depend_edb_name}拟合残差/${this.self_edb_name}`
@@ -416,7 +420,7 @@ export default {
 				// 设置目录、频度、单位
 				if(type==='self'){
 					this.formData.menu=choose_obj.ClassifyId
-					this.formData.unit=choose_obj.Unit
+					this.formData.unit=this.$parent.currentLang==='en'?choose_obj.UnitEn:choose_obj.Unit
 					this.formData.frequency=choose_obj.Frequency
 				}
 				

+ 6 - 3
src/views/dataEntry_manage/databaseComponents/jointTargetDia.vue

@@ -461,11 +461,14 @@ export default {
 			const arr=key==='old_stay_edb'?this.searchMonthOptions:this.searchOptions
 			
 			let obj = arr.find(item => item.EdbInfoId === val);
-			console.log(obj);
-			this.formData.edb_name=`${obj.EdbName}/拼接`
+			
+			let edbName = this.$parent.currentLang==='en'?obj.EdbNameEn:obj.EdbName;
+			let unit = this.$parent.currentLang==='en'?obj.UnitEn:obj.Unit;
+			
+			this.formData.edb_name=`${edbName}/拼接`
 			this.formData.menu=obj.ClassifyId||''
 			this.formData.frequency=obj.Frequency
-			this.formData.unit=obj.Unit
+			this.formData.unit=unit
 
 			//日期也要常驻显示 加字段存了
 			const showDateMap = {

+ 1 - 1
src/views/dataEntry_manage/databaseComponents/openDialog.vue

@@ -113,7 +113,7 @@ export default {
 		getParentName(){
 			const arr=this.formData.parentArr||[]
 			let strArr=arr.reverse().map(item=>{
-				return item.classifyName
+				return this.currentLang==='en'?item.classifyNameEn:item.classifyName
 			})
 			
 			return strArr.join('/')

+ 33 - 25
src/views/dataEntry_manage/databaseComponents/operationDialog.vue

@@ -367,7 +367,7 @@ export default {
 				},
 				{
 					label: /* '指标名称' */this.$t('Edb.Detail.e_name'),
-					key: 'EdbName',
+					key: this.$parent.currentLang==='en'?'EdbNameEn':'EdbName',
 				},
 				{
 					label: /* '频度' */ this.$t('Edb.Detail.e_fre'),
@@ -375,7 +375,7 @@ export default {
 				},
 				{
 					label: /* '单位' */this.$t('Edb.Detail.e_unit'),
-					key: 'Unit',
+					key: this.$parent.currentLang==='en'?'UnitEn':'Unit',
 				},
 				{
 					label: /* '起始时间' */this.$t('Edb.Detail.e_start_time'),
@@ -699,6 +699,7 @@ export default {
 		NchangeHandle() {
 			if(!this.select_target) return;
 			let obj = this.searchOptions.find(item => item.EdbInfoId === this.select_target);
+			let edbName = this.$parent.currentLang==='en'?obj.EdbNameEn:obj.EdbName;
 			const tMap=new Map([
 				['日度','D'],
 				['周度','W'],
@@ -708,10 +709,10 @@ export default {
 				['年度','Y'],
 			])
 			const name_map = {
-				8: `${obj.EdbName}/${this.formData.n_num}${tMap.get(obj.Frequency)}MA`,
-				12: `${obj.EdbName}${this.formData.n_num}${obj.Frequency.slice(0,1)}环比`,
-				13: `${obj.EdbName}${this.formData.n_num}${obj.Frequency.slice(0,1)}环差`,
-				35: `${obj.EdbName}超季节性/${this.formData.n_num}年${this.formData.calendar_type==='公历'?'':'/'+this.formData.calendar_type}`
+				8: `${edbName}/${this.formData.n_num}${tMap.get(obj.Frequency)}MA`,
+				12: `${edbName}${this.formData.n_num}${obj.Frequency.slice(0,1)}环比`,
+				13: `${edbName}${this.formData.n_num}${obj.Frequency.slice(0,1)}环差`,
+				35: `${edbName}超季节性/${this.formData.n_num}年${this.formData.calendar_type==='公历'?'':'/'+this.formData.calendar_type}`
 			}
 			this.formData.targetName = name_map[this.type] || '';
 		},
@@ -720,9 +721,11 @@ export default {
 		handleFrequencyChange(){
 			if(!this.select_target||this.operationForm.edb_id) return;
 			let obj = this.searchOptions.find(item => item.EdbInfoId === this.select_target);
+			let edbName = this.$parent.currentLang==='en'?obj.EdbNameEn:obj.EdbName;
+
 			const name_map = {
-				51: `${obj.EdbName}/${this.formData.frequency.substr(0,1)}频`,
-				62:  `${obj.EdbName}累计值/${this.formData.frequency}`,
+				51: `${edbName}/${this.formData.frequency.substr(0,1)}频`,
+				62:  `${edbName}累计值/${this.formData.frequency}`,
 			}
 			this.formData.targetName=name_map[this.type] || ''
 		},
@@ -732,7 +735,9 @@ export default {
 			if(this.type==22){
 				if(!this.select_target||this.operationForm.edb_id) return;
 				let obj = this.searchOptions.find(item => item.EdbInfoId === this.select_target);
-				this.formData.targetName=`${obj.EdbName}${this.moveTypeOpions.filter(item=>item.key===this.formData.moveType)[0].label}${this.formData.moveVal}${this.formData.moveUnit}`
+				let edbName = this.$parent.currentLang==='en'?obj.EdbNameEn:obj.EdbName;
+
+				this.formData.targetName=`${edbName}${this.moveTypeOpions.filter(item=>item.key===this.formData.moveType)[0].label}${this.formData.moveVal}${this.formData.moveUnit}`
 			}
 		},
 
@@ -756,22 +761,25 @@ export default {
 				['季度','Q'],
 				['年度','Y'],
 			])
+
+			let edbName = this.$parent.currentLang==='en'?obj.EdbNameEn:obj.EdbName;
+			let unit = this.$parent.currentLang ==='en'?obj.UnitEn:obj.Unit;
 			const name_map = {
-				5: `${obj.EdbName}转月值`,
-				8: `${obj.EdbName}/${this.formData.n_num}${tMap.get(obj.Frequency)}MA`,
-				14: `${obj.EdbName}/日频`,
-				6: `${obj.EdbName}同比`,
-				7: `${obj.EdbName}同差`,
-				12: `${obj.EdbName}${this.formData.n_num}${obj.Frequency.slice(0,1)}环比`,
-				13: `${obj.EdbName}${this.formData.n_num}${obj.Frequency.slice(0,1)}环差`,
-				35: `${obj.EdbName}超季节性/${this.formData.n_num}年${this.formData.calendar_type==='公历'?'':'/'+this.formData.calendar_type}`,
-				52: `${obj.EdbName}年化值`,
-				51: `${obj.EdbName}/${obj.Frequency.substr(0,1)}频`,
-				61:  `${obj.EdbName}转季值`,
-				62:  `${obj.EdbName}累计值/${obj.Frequency}`,
-				63:  `${obj.EdbName}年初至今累计值`,
-				75: `${obj.EdbName}日均值`,
-				22:	`${obj.EdbName}${this.moveTypeOpions.filter(item=>item.key===this.formData.moveType)[0].label}${this.formData.moveVal}${this.formData.moveUnit}`
+				5: `${edbName}转月值`,
+				8: `${edbName}/${this.formData.n_num}${tMap.get(obj.Frequency)}MA`,
+				14: `${edbName}/日频`,
+				6: `${edbName}同比`,
+				7: `${edbName}同差`,
+				12: `${edbName}${this.formData.n_num}${obj.Frequency.slice(0,1)}环比`,
+				13: `${edbName}${this.formData.n_num}${obj.Frequency.slice(0,1)}环差`,
+				35: `${edbName}超季节性/${this.formData.n_num}年${this.formData.calendar_type==='公历'?'':'/'+this.formData.calendar_type}`,
+				52: `${edbName}年化值`,
+				51: `${edbName}/${obj.Frequency.substr(0,1)}频`,
+				61:  `${edbName}转季值`,
+				62:  `${edbName}累计值/${obj.Frequency}`,
+				63:  `${edbName}年初至今累计值`,
+				75: `${edbName}日均值`,
+				22:	`${edbName}${this.moveTypeOpions.find(item=>item.key===this.formData.moveType)&&this.moveTypeOpions.find(item=>item.key===this.formData.moveType).label}${this.formData.moveVal}${this.formData.moveUnit}`
 			}
 			
 			let frequerncyMap = {
@@ -783,7 +791,7 @@ export default {
 			this.formData = {
 				targetName: name_map[this.type] || '',
 				frequency: frequerncyMap[this.type] || obj.Frequency,
-				unit: [5,8,14,7,35,75].includes(this.type) ? obj.Unit : '无',
+				unit: [5,8,14,7,35,75].includes(this.type) ? unit : '无',
 				menu: obj.ClassifyId || '',
 				n_num: 1,
 				moveType: 1,

+ 12 - 7
src/views/dataEntry_manage/databaseComponents/smoothEdbDialog.vue

@@ -337,7 +337,7 @@ export default {
 				},
 				{
 					label: /* '指标名称' */this.$t('Edb.Detail.e_name'),
-					key: 'EdbName',
+					key: this.$parent.currentLang==='en'?'EdbNameEn':'EdbName',
 				},
 				{
 					label: /* '频度' */ this.$t('Edb.Detail.e_fre'),
@@ -345,7 +345,7 @@ export default {
 				},
 				{
 					label: /* '单位' */this.$t('Edb.Detail.e_unit'),
-					key: 'Unit',
+					key: this.$parent.currentLang==='en'?'UnitEn':'Unit',
 				},
 				{
 					label: /* '起始时间' */this.$t('Edb.Detail.e_start_time'),
@@ -425,7 +425,6 @@ export default {
                 }
                 if(this.computedSource===2){
                     this.addTargetHandle()
-                    this.addTargetHandle()
                 }
             }
         }
@@ -506,17 +505,23 @@ export default {
         chooseTargetList(val,index){
             if(val){
                 const obj = this.searchOptions.find(item => item.EdbInfoId === val);
-                this.targetList[index].targetName = `${obj.EdbName}指数修匀`
-                this.targetList[index].unit = obj.Unit
+                let edbName = this.$parent.currentLang==='en'?obj.EdbNameEn:obj.EdbName;
+			    let unit = this.$parent.currentLang ==='en'?obj.UnitEn:obj.Unit;
+
+                this.targetList[index].targetName = `${edbName}指数修匀`
+                this.targetList[index].unit = unit
                 this.targetList[index].frequency = obj.Frequency
                 this.targetList[index].menu = obj.ClassifyId||''
                 this.targetList[index].alphaValue =obj.Formula||''
             }
         },
         setDefaultOption(obj,type){
+            let edbName = this.$parent.currentLang==='en'?obj.EdbNameEn:obj.EdbName;
+			let unit = this.$parent.currentLang ==='en'?obj.UnitEn:obj.Unit;
+
             this.formData = {
-                targetName:`${obj.EdbName}${type==='edit'?'':'指数修匀'}`,
-                unit:obj.Unit,
+                targetName:`${edbName}${type==='edit'?'':'指数修匀'}`,
+                unit,
                 frequency:obj.Frequency,
                 menu:obj.ClassifyId||'',
                 alphaValue:obj.Formula||''

+ 152 - 109
src/views/dataEntry_manage/databaseList.vue

@@ -17,12 +17,12 @@
 			</div>
 			<div class="top-right">
 
-				<change-lang 
+				<!-- <change-lang 
 					v-permission="permissionBtn.edbDataPermission.edbData_switchEn"
 					:lang="currentLang" 
 					style="height: 32px;" 
 					@changeLang="changeLanguage"
-				/>
+				/> -->
 
 				<el-select
 					v-model="search_txt"
@@ -80,11 +80,11 @@
 			<div class="main-left left" id="left" v-show="isMainLeftShow">
 				<div class="tree-cont">
 					<div style="padding-bottom:20px;padding-right:20px;display:flex;justify-content:space-between">
-						<span>目录</span>
+						<span><!-- 目录 -->{{$t('EtaBasePage.tab_menu')}}</span>
 						<el-checkbox 
 							v-model="IsOnlyMe"
 							@change="onlyMeHandler"
-						>只看我的</el-checkbox>
+						><!-- 只看我的 -->{{$t('Edb.only_see_mine')}}</el-checkbox>
 					</div>
 					<div class="target_tree">
 					<el-tree
@@ -231,7 +231,7 @@
 					<div class="chart-list-item-wrap">
 						<div class="list-item" v-for="item in chartList" :key="item.EdbInfoId">
 							<div class="header">
-								<span v-show="currentLang=='ch'">{{ item.EdbName }}</span> 
+								<span v-show="currentLang=='zh'">{{ item.EdbName }}</span> 
 								<span v-show="currentLang=='en'">{{ item.EdbNameEn || item.EdbName }}</span>
 							</div>
 							<div class="image" @click="detailShowHandle(item)"
@@ -292,8 +292,8 @@
 									<el-button 
 										v-if="isEdbBtnShow('setEn')"
 										type="text" 
-										@click="openEnNameDia"
-									>{{$t('Edb.detail_en_btn')}}<!-- 设置英文名称 --></el-button>
+										@click="openLangInfoDia"
+									>{{$t('Edb.detail_en_btn')}}<!-- 编辑信息 --></el-button>
 									<el-button 
 										v-if="EdbData.Button.InsertNewDataButton&&isEdbBtnShow('newValue')"
 										type="text" 
@@ -386,8 +386,8 @@
 			</div>
 		</div>
 		<!-- 输入英文指标弹窗 -->
-		<set-en-name-dia :isOpenDialog="setEnName" @cancel="setEnName=false" 
-		:formData="formItemArray" @updateEnName="updateEnName" cType="ebd" />
+		<!-- <set-en-name-dia :isOpenDialog="setEnName" @cancel="setEnName=false" 
+		:formData="formItemArray" @updateEnName="updateEnName" cType="ebd" /> -->
 
 		<!-- 目录弹窗 -->
 		<openDialog 
@@ -472,15 +472,6 @@
 			@lookHistory="id => {toHistoryPage(id,$route.matched);lookEdbId=id;}"
 			@changeSource="changeComputedType"
 		/>
-		<!-- 一键成图弹窗 -->
-		<!-- <create-chart
-			:isCreateChart="isCreateChart"
-			:edbid="selected_edbid"
-			:chartLang="currentLang"
-			ref="createChart"
-			@close="isCreateChart = false"
-			@editEnName="openEnNameDia"
-		/> -->
 
 		<!-- 一键更新弹窗 -->
 		<update-dialog
@@ -567,6 +558,15 @@
 			@closeSelf="handleCloseBatchPopSelf"
 			@addCallBack="addComputedCallBack"
 		/>
+
+		<!-- 设置对应版本信息弹窗 -->
+		<setLangInfoDia
+			:isOpenDialog="isLangInfoDia"
+			:formData="formItemArray"
+			@cancel="isLangInfoDia=false" 
+			@updateLang="updateLang"
+			cType="ebd" 
+		/>
 	</div>
 </template>
 
@@ -596,6 +596,7 @@ import chartTrendRender from './databaseComponents/chartTrendRender.vue';
 import edbDetailData from './databaseComponents/edbDetailData.vue';
 import SmoothEdbDialog from './databaseComponents/smoothEdbDialog.vue';
 import batchComputedV2 from './databaseComponents/batchComputedV2.vue';
+import setLangInfoDia from './components/setLangInfo.vue'
 export default {
 	name: '',
 	components: {
@@ -620,7 +621,8 @@ export default {
 		chartTrendRender,
 		edbDetailData,
 		SmoothEdbDialog,
-		batchComputedV2
+		batchComputedV2,
+		setLangInfoDia
 	},
 	directives: {
 		drag(el, bindings,vnode) {
@@ -775,7 +777,7 @@ export default {
 			search_page: 1,
 			search_have_more: false,
 			current_search:'',
-			currentLang:'ch', // 语言 ch 中文 en 英文
+			// currentLang:'ch', // 语言 ch 中文 en 英文
 			// -----------------设置英文指标弹窗
 			setEnName:false,
 			// 传入的formItem所需内容
@@ -814,6 +816,9 @@ export default {
 			isMainLeftShow:true,
 
 			showBatchComputedPop:false,
+
+			/* 修改对应版本信息弹窗  替换原有设置英文*/
+			isLangInfoDia: false
 		};
 	},
 	watch: {
@@ -962,7 +967,9 @@ export default {
 			return formulaTip
 		},
 
-
+		currentLang() {
+			return this.$store.state.lang
+		}
 	},
 	methods: {
 		//控制页面按钮权限
@@ -1006,8 +1013,8 @@ export default {
 						}
 					})
 					this.CanOpClassify = res.Data.CanOpClassify;
-					this.currentLang = res.Data.Language === 'EN' ? 'en' : 'ch';
-					this.setLangIntoStore()
+					// this.currentLang = res.Data.Language === 'EN' ? 'en' : 'ch';
+					// this.setLangIntoStore()
 					this.showData = true;
 					/* 处理树展开和选中图表 */
 					params && this.selectCurrentNode(params);
@@ -1163,9 +1170,9 @@ export default {
 		},
 
 		/* 存储中英文状态 */
-		setLangIntoStore() {
-			this.$store.commit('edb/SET_LANG',this.currentLang)
-		},
+		// setLangIntoStore() {
+		// 	this.$store.commit('edb/SET_LANG',this.currentLang)
+		// },
 
 		/* 数值滚动加载 */
 		scrollHandle: _.throttle(function() {
@@ -1181,86 +1188,118 @@ export default {
 			}
 		},200),
 		/* 切换中英文 */
-		changeLanguage: _.debounce(async function (lang){
-			this.search_txt = '';
-			this.currentLang = lang;
-			await dataBaseInterface.setUserLang({
-				ConfigCode: 'edb_language',
-				ConfigValue: lang === 'en' ? 'EN' : 'CN'
-			})
-
-			this.setLangIntoStore()
-		},200),
+		// changeLanguage: _.debounce(async function (lang){
+		// 	this.search_txt = '';
+		// 	this.currentLang = lang;
+		// 	await dataBaseInterface.setUserLang({
+		// 		ConfigCode: 'edb_language',
+		// 		ConfigValue: lang === 'en' ? 'EN' : 'CN'
+		// 	})
+
+		// 	this.setLangIntoStore()
+		// },200),
 		// 打开 编辑英文名称弹窗
-		openEnNameDia(type='table'){
-			this.updateType = type
-			this.formItemArray=[{
-				label:/* '指标名称' */ this.$t('Edb.Detail.e_name'),
-				value:this.tableData[0].EdbName,
-				key:'EdbName',
-				notEdit:true
-			}]
-			// 中文单位有 才能编辑英文单位
-			if(this.tableData[0].Unit && this.tableData[0].Unit!='无'){
-				this.formItemArray.push({
-					label:this.$t('Edb.Detail.e_unit') /* '单位' */,
-					value:this.tableData[0].Unit,
-					key:'Unit',
-					notEdit:true
-				},
-				{
-					label:this.$t('Edb.Detail.e_en_name')/* '英文指标名称' */,
-					value:this.tableData[0].EdbNameEn,
-					key:'EdbNameEn',
-					placeholder: this.$t('Edb.InputHolderAll.input_common',{label:this.$t('Edb.Detail.e_en_name')}) /* '请输入英文指标名称' */
-				},
-				{
-					label:this.$t('Edb.Detail.e_en_unit') /* '英文单位' */,
-					value:this.tableData[0].UnitEn,
-					key:'UnitEn',
-					placeholder:this.$t('Edb.InputHolderAll.input_common',{label:this.$t('Edb.Detail.e_en_unit')})  /* '请输入英文单位' */
-				})
-			}else{
-				this.formItemArray.push({
-					label:this.$t('Edb.Detail.e_en_name') /* '英文指标名称' */,
-					value:this.tableData[0].EdbNameEn,
-					key:'EdbNameEn',
-					placeholder:this.$t('Edb.InputHolderAll.input_common',{label:this.$t('Edb.Detail.e_en_name')}) /* '请输入英文指标名称' */
-				})
-			}
+		// openEnNameDia(type='table'){
+		// 	this.updateType = type
+		// 	this.formItemArray=[{
+		// 		label:/* '指标名称' */ this.$t('Edb.Detail.e_name'),
+		// 		value:this.tableData[0].EdbName,
+		// 		key:'EdbName',
+		// 		notEdit:true
+		// 	}]
+		// 	// 中文单位有 才能编辑英文单位
+		// 	if(this.tableData[0].Unit && this.tableData[0].Unit!='无'){
+		// 		this.formItemArray.push({
+		// 			label:this.$t('Edb.Detail.e_unit') /* '单位' */,
+		// 			value:this.tableData[0].Unit,
+		// 			key:'Unit',
+		// 			notEdit:true
+		// 		},
+		// 		{
+		// 			label:this.$t('Edb.Detail.e_en_name')/* '英文指标名称' */,
+		// 			value:this.tableData[0].EdbNameEn,
+		// 			key:'EdbNameEn',
+		// 			placeholder: this.$t('Edb.InputHolderAll.input_common',{label:this.$t('Edb.Detail.e_en_name')}) /* '请输入英文指标名称' */
+		// 		},
+		// 		{
+		// 			label:this.$t('Edb.Detail.e_en_unit') /* '英文单位' */,
+		// 			value:this.tableData[0].UnitEn,
+		// 			key:'UnitEn',
+		// 			placeholder:this.$t('Edb.InputHolderAll.input_common',{label:this.$t('Edb.Detail.e_en_unit')})  /* '请输入英文单位' */
+		// 		})
+		// 	}else{
+		// 		this.formItemArray.push({
+		// 			label:this.$t('Edb.Detail.e_en_name') /* '英文指标名称' */,
+		// 			value:this.tableData[0].EdbNameEn,
+		// 			key:'EdbNameEn',
+		// 			placeholder:this.$t('Edb.InputHolderAll.input_common',{label:this.$t('Edb.Detail.e_en_name')}) /* '请输入英文指标名称' */
+		// 		})
+		// 	}
+
+		// 	this.setEnName = true
+		// },
+		// updateEnName(item){
+		// 	let params={
+		// 		EdbInfoId: Number(this.selected_edbid),
+		// 		...item
+		// 	}
+		// 	dataBaseInterface.edbInfoEditEn(params).then(res=>{
+		// 		if(res.Ret ==200){
+		// 			this.$message({
+		// 				message:res.Msg,
+		// 				type:"success"
+		// 			})
+
+		// 			this.getTreeData()
+		// 			this.getDataList()
+		// 			if(this.updateType=='chart'){
+		// 				// 重绘图表,刷新数据
+		// 				this.$refs.createChart.getEdbData()
+		// 			}
+		// 			this.setEnName = false
+		// 		}
+		// 	})
+		// },
+		openLangInfoDia(type='table') {
+				this.updateType = type
+				this.formItemArray=[
+					{
+						label:/* '指标名称' */ this.$t('Edb.Detail.e_name'),
+						value: this.currentLang==='en'?this.tableData[0].EdbNameEn:this.tableData[0].EdbName,
+						key:'EdbName',
+						placeholder:this.$t('Edb.InputHolderAll.input_common',{label:this.$t('Edb.Detail.e_name')})  /* '请输入指标名称' */
+					},
+					{
+						label:this.$t('Edb.Detail.e_unit') /* '单位' */,
+						value: this.currentLang==='en'?this.tableData[0].UnitEn:this.tableData[0].Unit,
+						key:'Unit',
+						placeholder:this.$t('Edb.InputHolderAll.input_common',{label:this.$t('Edb.Detail.e_unit')})  /* '请输入单位' */
+					}
+				]
 
-			this.setEnName = true
+				this.isLangInfoDia = true
 		},
-		updateEnName(item){
+
+		updateLang(item) {
 			let params={
 				EdbInfoId: Number(this.selected_edbid),
 				...item
 			}
-			dataBaseInterface.edbInfoEditEn(params).then(res=>{
-				if(res.Ret ==200){
-					this.$message({
-						message:res.Msg,
-						type:"success"
-					})
-					/* this.tableData[0].EdbNameEn = params.EdbNameEn
-					this.tableData[0].UnitEn = params.UnitEn
-					// 判断图表英文名称和英文单位是否都有,都有需要打上 英文标记
-					console.log(this.tableData[0].EdbNameEn,this.tableData[0].UnitEn);
-					if(this.tableData[0].EdbNameEn && (this.tableData[0].UnitEn || this.tableData[0].Unit == '无')){
-						this.tableData[0].IsEnEdb=true
-					}else{
-						this.tableData[0].IsEnEdb=false
-					} */
-					this.getTreeData()
-					this.getDataList()
-					if(this.updateType=='chart'){
-						// 重绘图表,刷新数据
-						this.$refs.createChart.getEdbData()
-					}
-					this.setEnName = false
+			dataBaseInterface.setEdbLangInfo(params).then(res=>{
+				if(res.Ret !==200) return
+
+				this.$message.success(res.Msg)
+
+				this.getTreeData()
+				this.getDataList()
+				if(this.updateType=='chart'){
+					// 重绘图表,刷新数据
+					this.$refs.createChart.getEdbData()
 				}
+				this.isLangInfoDia = false
 			})
 		},
+
 		/* 新增指标 */
 		addHandler() {
 			this.isAddTarget = true;
@@ -1313,7 +1352,7 @@ export default {
 			//目录名称可以双击修改 指标不能
 			if(!data.EdbCode && this.role === 'admin'&&this.isEdbBtnShow('editCatalog')) {
 				this.$set(data,'isEdit',true)
-				this.new_label = data.ClassifyName;
+				this.new_label = this.currentLang==='en' ? data.ClassifyNameEn : data.ClassifyName;
 				this.$nextTick(() => {
 					this.$refs.editVal.focus();
 				});
@@ -1323,7 +1362,7 @@ export default {
 		changeValue(node, data) {
 			if(this.new_label) {
 				this.$set(data,'isEdit',false)
-				this.new_label !== data.ClassifyName && dataBaseInterface.nodeEdit({
+				dataBaseInterface.nodeEdit({
 						ClassifyId: data.ClassifyId,
 						ClassifyName: this.new_label
 					}).then(res => {
@@ -1348,7 +1387,7 @@ export default {
 		// 递归节点
 		getNodeParentData(data,arr){
 			if(data.level===0) return
-			arr.push({classifyName:data.data.ClassifyName,classifyId:data.data.ClassifyId})
+			arr.push({classifyName:this.currentLang==='en'?data.data.ClassifyNameEn:data.data.ClassifyName,classifyId:data.data.ClassifyId})
 			this.getNodeParentData(data.parent,arr)
 			return arr
 		},
@@ -1390,11 +1429,11 @@ export default {
 						this.dialogForm = {
 							parentArr:[],
 							level: 0,
-							levelVal: res.Data.EdbName,
+							levelVal: this.currentLang==='en'?res.Data.EdbNameEn:res.Data.EdbName,
 							level_menu:menuArrId||[],
 							edbinfo_id: res.Data.EdbInfoId,
 							frequency:res.Data.Frequency,
-							unit:res.Data.Unit,
+							unit:this.currentLang==='en'?res.Data.UnitEn:res.Data.Unit,
 							isEDB:true
 						}
 						this.isOpenDialog = true;
@@ -1450,7 +1489,7 @@ export default {
 				this.dialogForm = {
 					isEDB:false,
 					parentArr:arr,
-					levelVal: data.ClassifyName||'',
+					levelVal: this.currentLang==='en'?data.ClassifyNameEn:data.ClassifyName,
 					classify_id: data.ClassifyId,
 					level: node.level-1
 				}
@@ -1862,14 +1901,14 @@ export default {
 						end_date: item.EndDate
 					}
 				})
-				const { EdbInfoId,CalculateFormula,EdbName,Unit,Frequency,EmptyType,MaxEmptyType,Extra } = res.EdbInfoDetail;
+				const { EdbInfoId,CalculateFormula,EdbName,EdbNameEn,Unit,UnitEn,Frequency,EmptyType,MaxEmptyType,Extra } = res.EdbInfoDetail;
 				/* 公式和表单 */
 				this.calulateForm =  {
 					edb_id: EdbInfoId,
 					formula: CalculateFormula,
 					menu: menuArrId||[],
-					targetName: EdbName,
-					unit: Unit,
+					targetName: this.currentLang==='en'?EdbNameEn:EdbName,
+					unit: this.currentLang==='en'?UnitEn:Unit,
 					frequency: Frequency,
 					emptyType: EmptyType,
 					maxEmptyType: MaxEmptyType,
@@ -1890,9 +1929,9 @@ export default {
 
 				let public_params = {
 					edb_id: dataInfo.EdbInfoId,
-					targetName: dataInfo.EdbName,
+					targetName: this.currentLang==='en'?dataInfo.EdbNameEn:dataInfo.EdbName,
 					frequency: dataInfo.Frequency,
-					unit: dataInfo.Unit,
+					unit: this.currentLang==='en'?dataInfo.UnitEn:dataInfo.Unit,
 					menu: menuArrId||[],
 					Extra:dataInfo.Extra,
 					view
@@ -1922,12 +1961,16 @@ export default {
 					}
 
 				if([72,73].includes(type)){
-					const {EdbName,EdbInfoId,Frequency,Unit,ClassifyId,CalculateFormula} = dataInfo
+					const {EdbName,EdbNameEn,EdbInfoId,Frequency,Unit,UnitEn,ClassifyId,CalculateFormula} = dataInfo
 					this.operationForm = {
 						edb_id: EdbInfoId,
 						oldedb_id: old_edb[0].FromEdbInfoId,
 						oldEdb_name: old_edb[0].FromEdbName,
-						EdbName,Frequency,Unit,ClassifyId,Formula:CalculateFormula,
+						EdbName: this.currentLang==='en'?EdbNameEn:EdbName,
+						Frequency,
+						Unit:this.currentLang==='en'?UnitEn:Unit,
+						ClassifyId,
+						Formula:CalculateFormula,
 						view
 					}
 				}

+ 18 - 80
src/views/dataEntry_manage/editChart.vue

@@ -211,7 +211,7 @@
           <el-collapse v-model="activeNames" class="target-list" v-if="tableData.length&&![7,10,11].includes(chartInfo.ChartType)">
             <el-collapse-item v-for="(item,index) in tableData" :key="item.EdbInfoId" :disabled="[2,5].includes(chartInfo.ChartType)">
               <template slot="title">
-                <span class="text_oneLine">{{item.EdbName}}</span>
+                <span class="text_oneLine">{{currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName}}</span>
 								<i class="el-icon-delete del-icon" @click.stop="delTarget(item)"></i>
               </template>
               <ul class="setting-cont">
@@ -626,83 +626,17 @@
 
 					<!-- 异常显示 -->
           <p class="error-tip" style="min-height: 400px" v-if="chartInfo.WarnMsg">{{chartInfo.WarnMsg}}</p>
-					<el-table
-						:data="tableData"
-						ref="tableRef"
-						highlight-current-row
-						border
-					>
-						<el-table-column type="expand" v-if="![10,11].includes(chartInfo.ChartType)">
-							<template slot-scope="{row,$index}">
-								<div class="expand-wrap">
-									<div class="data-change">
-										<el-checkbox v-model="updateData[$index].IsConvert">数据转换</el-checkbox>
-										<el-select v-model="updateData[$index].ConvertType">
-											<el-option label="乘以" :value="1"></el-option>
-											<el-option label="除以" :value="2"></el-option>
-											<el-option label="对数" :value="3"></el-option>
-										</el-select>
-									<el-input type="number" v-model="updateData[$index].ConvertValue"></el-input>
-									</div>
-									<div class="unit-change">
-										<label>单位</label>
-										<el-input v-model="updateData[$index].ConvertUnit"></el-input>
-										<label>英文单位</label>
-										<el-input v-model="updateData[$index].ConvertEnUnit"></el-input>
-									</div>
-									<!--柱形图-->
-									<div class="use-change" v-if="chartInfo.ChartType===7">
-										<el-radio v-model="useUnit" :label="$index">设置为图表单位</el-radio>
-									</div>
-									<div class="confirm-btn">
-										<el-button type="text" @click="changeTableData($index)">保存</el-button>
-									</div>
-								</div>
-							</template>
-						</el-table-column>
-						<el-table-column
-							v-for="item in tableColums"
-							:key="item.label"
-							:label="item.label"
-							:width="item.widthsty"
-							:min-width="item.minwidthsty"
-							align="center"
-						>
-							<template slot-scope="scope">
-								<div v-if="item.key === 'EdbName' && [1,4,6,7,11].includes(chartInfo.ChartType)">
-									<!-- 奇怪柱状图用别名 -->
-									<el-input 
-										v-model="scope.row.EdbAliasName"
-										placeholder="指标别名"
-										class="target-other-name"
-										clearable
-									/>
-								</div>
-								<span v-else>{{ scope.row[item.key] }}</span>
-							</template>
-						</el-table-column>
-						<el-table-column
-							:label="$t('Table.column_operations')"
-							key="Copy"
-							align="center"
-							width="140"
-						>
-							<template slot-scope="scope" v-if="scope.row.HaveOperaAuth">
-								<span @click="delTarget(scope.row)" class="deletesty"><!-- 删除 -->{{$t('Table.delete_btn')}}&nbsp;</span>
-								<span v-permission="permissionBtn.chartLibPermission.chartLib_copyData"
-									class="editsty" @click="copyCode(scope.row)">
-									<i class="el-icon-document-copy" />&nbsp;<!-- 复制数据 -->{{$t('Edb.detail_copydata_btn')}}</span
-								><br>
-								<span v-permission="permissionBtn.chartLibPermission.chartLib_viewData"
-									class="editsty"
-									@click="viewTarget(scope.row)"
-								><!-- 查看数据 -->{{$t('Edb.detail_lookdata_btn')}}</span>
-							</template>
-						</el-table-column>
-						<div slot="empty">
-							<tableNoData :text="$t('Table.no_edb_msg')" size="mini"/>
-						</div>
-					</el-table>
+					
+					<!-- 关联指标 -->
+					<chartRelationEdbList
+						:chartInfo="chartInfo"
+						:tableData="tableData"
+						:updateData="updateData"
+						@changeTableData="changeTableData"
+						@delTarget="delTarget"
+						@copyCode="copyCode"
+						@viewTarget="viewTarget"
+					/>
 				</div>
       </div>
 			<div class="nodata" v-else>
@@ -755,8 +689,9 @@ import sectionalScatterOption from './components/sectionalScatterOption.vue';
 import LegendEditDia from './components/LegendEditDia.vue';
 import markersSection from './components/markersSection.vue';
 import chartSourceEditDia from './components/chartSourceEditDialog.vue';
+import chartRelationEdbList from './components/chartReleationEdbTable.vue';
 export default {
-  components: { Chart,DateChooseDia,SaveChartOther,barOption,sectionalScatterOption,LegendEditDia,markersSection,chartSourceEditDia },
+  components: { Chart,DateChooseDia,SaveChartOther,barOption,sectionalScatterOption,LegendEditDia,markersSection,chartSourceEditDia,chartRelationEdbList },
 	directives: {
     drag(el, bindings) {
       el.onmousedown = function (e) {
@@ -843,8 +778,11 @@ export default {
 
           this.chartInfo = {
 						...ChartInfo,
+						ChartName: this.currentLang==='en'?ChartInfo.ChartNameEn:ChartInfo.ChartName,
 						classify: [ChartInfo.ChartClassify[0].ParentId,...ChartInfo.ChartClassify.map(item => item.ChartClassifyId)],
-						Unit: ChartInfo.ChartType===7 ? BarChartInfo.Unit : ChartInfo.Unit,
+						Unit: ChartInfo.ChartType===7 
+							? (this.currentLang==='en'?BarChartInfo.UnitEn:BarChartInfo.Unit) 
+							: (this.currentLang==='en'?ChartInfo.UnitEn:ChartInfo.Unit),
 						SourcesFromVisable: ChartInfo.SourcesFrom ? JSON.parse(ChartInfo.SourcesFrom).isShow : true
 					};
 					//处理下历史默认来源

+ 295 - 210
src/views/dataEntry_manage/mixins/chartPublic.js

@@ -78,57 +78,7 @@ export const chartSetMixin = {
         '周': 'W',
         '天': 'D',
       },
-      // tableColums: [
-      //   {
-      //     label: '指标名称',
-      //     key: 'EdbName',
-      //     enKey:'EdbNameEn',
-			// 		inputTip:'点击输入英文指标名称',
-      //     minwidthsty: '150px',
-      //   },
-      //   {
-      //     label: '指标ID',
-      //     key: 'EdbCode',
-      //     widthsty: '120px',
-      //   },
-      //   {
-      //     label: '更新频度',
-      //     key: 'Frequency',
-      //     enKey:'FrequencyEn',
-      //     minwidthsty: '60px',
-      //   },
-      //   {
-      //     label: '单位',
-      //     key: 'Unit',
-      //     enKey:'UnitEn',
-			// 		inputTip:'英文单位',
-      //     minwidthsty: '50px',
-      //   },
-      //   {
-      //     label: '起始时间',
-      //     key: 'StartDate',
-      //     minwidthsty: '100px',
-      //   },
-      //   {
-      //     label: '最新日期',
-      //     key: 'LatestDate',
-      //     minwidthsty: '90px',
-      //   },
-      //   {
-      //     label: '最新值',
-      //     key: 'LatestValue',
-      //     minwidthsty: '90px',
-      //   },
-      //   {
-      //     label: '最近更新',
-      //     key: 'ModifyTime',
-      //     minwidthsty: '100px',
-      //   },
-      //   {
-      //     label: '数据来源',
-      //     key: 'SourceName',
-      //   },
-      // ],//表格列
+
       tableData: [],//表格指标数据
 			options: {}, //配置options
       leftIndex: -1, //左侧上下限对应下标
@@ -148,7 +98,7 @@ export const chartSetMixin = {
 
       isShowSaveOther: false,//图表另存为弹窗
       // -------------切换图表中英文
-      currentLang:'ch', // ch(中文) en(英文)
+      // currentLang:'zh', // ch(中文) en(英文)
       setEnName:false,
       // 传入的formItem所需内容
       formItemArray:[],
@@ -200,7 +150,10 @@ export const chartSetMixin = {
       crossVarietyChartData: {},
 
       /* 雷达图 */
-      radarChartData: {}
+      radarChartData: {},
+
+      /* 修改对应版本信息弹窗  替换原有设置英文*/
+			isLangInfoDia: false
 		}
 	},
   computed:{
@@ -259,7 +212,10 @@ export const chartSetMixin = {
     },
     yearSelector() {
       return yearSelector
-    }
+    },
+    currentLang() {
+			return this.$store.state.lang
+		}
   },
   watch: {
     
@@ -277,22 +233,18 @@ export const chartSetMixin = {
 				newval.DataList && this.setSectionScatterChart();
 			},
 			deep: true
+    },
+
+    currentLang() {
+      this.changeLanguage()
     }
   },
 	methods: {
     /* --------------------------------------------切换中英文 */
-		async changeLanguage(lang){
+		async changeLanguage(){
       this.search_txt = '';
-			this.currentLang = lang;
       
-      if(this.$route.path === '/chartsetting') {
-        await dataBaseInterface.setUserLang({
-          ConfigCode: 'chart_language',
-          ConfigValue: lang === 'en' ? 'EN' : 'CN'
-        })
-        this.setLangIntoStore();
-        if(!this.selected_chartid) return
-      }
+      if(!this.$refs.chartRef) return
 
       //不同图表来源 1eta图 2商品价格图 3相关性图表
       const sourceMap = {
@@ -300,84 +252,252 @@ export const chartSetMixin = {
         2: this.changeCommodityLang,
         3: this.changeRelevanceLang,
         4: this.changeRelevanceLang,
-        5: this.changeCommodityLang,
-        // 10: wydgw 
+        5: this.changeCommodityLang
       }
 
-      sourceMap[this.chartInfo.Source]()
+      sourceMap[this.chartInfo.Source]&&sourceMap[this.chartInfo.Source]()
 		},
-    // 打开设置英文信息弹窗
-    async openEnNameDia(){
+    // // 打开设置英文信息弹窗
+    // async openEnNameDia(){
+    //   this.formItemArray={}
+    //   this.formItemArray.chartInfo=[]
+    //   this.formItemArray.chartsList=[]
+    //   this.formItemArray.chartInfo.push({
+    //     label:/* '图表名称' */this.$t('Chart.Detail.chart_name'),
+    //     value:this.chartInfo.ChartName,
+    //     key:'ChartName',
+    //     id:this.chartInfo.ChartInfoId,
+    //     source: this.chartInfo.Source,
+    //     notEdit:true
+    //   },
+    //   {
+    //     label:/* '英文图表名称' */this.$t('Chart.Detail.chart_en_name'),
+    //     value:this.chartInfo.ChartNameEn,
+    //     key:'ChartNameEn',
+    //     id:this.chartInfo.ChartInfoId,
+    //     placeholder:/* '请输入英文图表名称' */this.$t('Chart.InputHolderAll.input_en_name')
+    //   })
+
+    //   if([1,2,5].includes(this.chartInfo.Source)){ //需要设置指标的
+    //     this.tableData.map(item =>{
+    //       if(item.Unit){
+    //         this.formItemArray.chartsList.push([
+    //           {
+    //             label:/* '指标名称' */this.$t('Edb.Detail.e_name'),
+    //             value:item.EdbName,
+    //             key:'EdbName',
+    //             id:item.EdbInfoId,
+    //             notEdit:true
+    //           },
+    //           {
+    //             label:/* '单位' */this.$t('Edb.Detail.e_unit'),
+    //             value:item.Unit,
+    //             key:'Unit',
+    //             id:item.EdbInfoId,
+    //             notEdit:true
+    //           },
+    //           {
+    //             label:/* '英文指标名称' */this.$t('Edb.Detail.e_en_name'),
+    //             value:item.EdbNameEn,
+    //             key:'EdbNameEn',
+    //             id:item.EdbInfoId,
+    //             placeholder:/* '请输入英文指标名称' */ this.$t('Edb.InputHolderAll.input_common',{label: this.$t('Edb.Detail.e_en_name')})
+    //           },
+    //           {
+    //             label:/* '英文单位' */this.$t('Edb.Detail.e_en_unit'),
+    //             value:item.UnitEn,
+    //             key:'UnitEn',
+    //             id:item.EdbInfoId,
+    //             placeholder:/* '请输入英文单位' */this.$t('Edb.InputHolderAll.input_common',{label: this.$t('Edb.Detail.e_en_unit')})
+    //           }
+    //         ])
+    //       }else{
+    //         this.formItemArray.chartsList.push([
+    //           {
+    //             label:/* '指标名称' */this.$t('Edb.Detail.e_name'),
+    //             value:item.EdbName,
+    //             key:'EdbName',
+    //             id:item.EdbInfoId,
+    //             notEdit:true
+    //           },
+    //           {
+    //             label:/* '英文指标名称' */this.$t('Edb.Detail.e_en_name'),
+    //             value:item.EdbNameEn,
+    //             key:'EdbNameEn',
+    //             id:item.EdbInfoId,
+    //             placeholder:this.$t('Edb.InputHolderAll.input_common',{label: this.$t('Edb.Detail.e_en_name')})
+    //           }
+    //         ])
+    //       }
+    //     })
+    //   }
+
+    //   //价格曲线
+    //   if(this.chartInfo.Source===2) {
+    //     this.formItemArray.chartInfo.push({
+    //       label:/* '期货名称' */this.$t('Chart.Detail.good_name'),
+    //       value:this.commodityEdbList[1].EdbName,
+    //       key:'FutureGoodName',
+    //       id:this.chartInfo.ChartInfoId,
+    //       notEdit:true
+    //     },
+    //     {
+    //       label:/* '英文期货名称' */this.$t('Chart.Detail.good_en_name'),
+    //       value:this.commodityEdbList[1].EdbNameEn,
+    //       key:'FutureGoodNameEn',
+    //       id:this.chartInfo.ChartInfoId,
+    //       placeholder:/* '请输入英文期货名称' */this.$t('Chart.InputHolderAll.input_common',{label:this.$t('Chart.Detail.good_en_name')})
+    //     })
+    //   }
+
+    //   //利润曲线
+    //   else if(this.chartInfo.Source===5) {
+    //     this.formItemArray.chartInfo.push({
+    //       label:/* '盘面利润名称' */this.$t('Chart.Detail.profit_name'),
+    //       value:this.chartInfo.ProfitName,
+    //       key:'ProfitName',
+    //       id:this.chartInfo.ChartInfoId,
+    //       notEdit:true
+    //     },
+    //     {
+    //       label:/* '英文盘面利润名称' */this.$t('Chart.Detail.profit_en_name'),
+    //       value:this.chartInfo.ProfitNameEn,
+    //       key:'ProfitNameEn',
+    //       id:this.chartInfo.ChartInfoId,
+    //       placeholder:/* '请输入英文盘面利润名称' */this.$t('Chart.InputHolderAll.input_common',{label:this.$t('Chart.Detail.profit_en_name')})
+    //     })
+    //   }
+
+    //   //跨品种分析
+    //   else if(this.chartInfo.Source===10) {
+    //     let { Data } = await crossVarietyInterface.chartLangOption({ChartInfoId: this.chartInfo.ChartInfoId})
+
+    //     const { TagList,VarietyList } = Data;
+
+    //     this.formItemArray.chartInfo.push({
+    //       label:/* 'X轴名称' */this.$t('Chart.Detail.x_name'),
+    //       value:this.crossVarietyChartData.XName,
+    //       key:'XName',
+    //       id:TagList[0].ChartTagId,
+    //       notEdit:true
+    //     },
+    //     {
+    //       label:/* '英文X轴名称' */this.$t('Chart.Detail.x_en_name'),
+    //       value:this.crossVarietyChartData.XNameEn,
+    //       key:'XNameEn',
+    //       id:TagList[0].ChartTagId,
+    //       placeholder:/* '请输入英文X轴名称' */this.$t('Chart.InputHolderAll.input_common',{label:this.$t('Chart.Detail.x_en_name')})
+    //     },{
+    //       label:/* 'Y轴名称' */this.$t('Chart.Detail.y_name'),
+    //       value:this.crossVarietyChartData.YName,
+    //       key:'YName',
+    //       id:TagList[1].ChartTagId,
+    //       notEdit:true
+    //     },
+    //     {
+    //       label:/* '英文Y轴名称' */this.$t('Chart.Detail.y_en_name'),
+    //       value:this.crossVarietyChartData.YNameEn,
+    //       key:'YNameEn',
+    //       id:TagList[1].ChartTagId,
+    //       placeholder:/* '请输入英文Y轴名称' */this.$t('Chart.InputHolderAll.input_common',{label:this.$t('Chart.Detail.y_en_name')})
+    //     })
+
+    //     VarietyList.forEach(item => {
+    //       this.formItemArray.chartsList.push([
+    //         {
+    //           label:/* '品种名称' */this.$t('Chart.Detail.variety_name'),
+    //           value:item.ChartVarietyName,
+    //           key:'ChartVarietyName',
+    //           id:item.ChartVarietyId,
+    //           notEdit:true
+    //         },
+    //         {
+    //           label:/* '英文品种名称' */this.$t('Chart.Detail.variety_en_name'),
+    //           value:item.ChartVarietyNameEn,
+    //           key:'ChartVarietyNameEn',
+    //           id:item.ChartVarietyId,
+    //           placeholder:/* '请输入英文品种名称' */this.$t('Chart.InputHolderAll.input_common',{label:this.$t('Chart.Detail.variety_en_name')})
+    //         }
+    //       ])
+    //     })
+    //   }
+
+
+    //   this.setEnName = true
+    // },
+    // // 更新英文信息
+    // async updateEnName(enNameData){
+    //   // console.log(enNameData)
+    //   let res=null
+    //   if([2,5].includes(this.chartInfo.Source)){//商品价格
+    //     res=await futuresInterface.editChartEn({
+    //       ChartInfoId: enNameData.ChartInfoId,
+    //       ChartNameEn: enNameData.ChartNameEn,
+    //       UnitEn: enNameData.ChartEdbInfoList[0].UnitEn || '',
+    //       EdbNameEn: enNameData.ChartEdbInfoList[0].EdbNameEn || '',
+    //       FutureGoodNameEn: enNameData.FutureGoodNameEn || '',
+    //       ProfitNameEn: enNameData.ProfitNameEn || ''
+    //     })
+    //   }else if(this.chartInfo.Source===3){//相关性
+    //     res=await chartRelevanceApi.editChartEn({
+    //       ChartInfoId: enNameData.ChartInfoId,
+    //       ChartNameEn: enNameData.ChartNameEn
+    //     })
+    //   }else if(this.chartInfo.Source===6){//拟合方程
+    //     res=await fittingEquationInterface.editChartEn({
+    //       ChartInfoId: enNameData.ChartInfoId,
+    //       ChartNameEn: enNameData.ChartNameEn
+    //     })
+    //   }else if([7,8,9].includes(this.chartInfo.Source)){//统计特征
+    //     res=await statisticFeatureInterface.editChartEn({
+    //       ChartInfoId: enNameData.ChartInfoId,
+    //       ChartNameEn: enNameData.ChartNameEn
+    //     })
+    //   }else if(this.chartInfo.Source === 10) {//跨品种分析
+    //     res=await crossVarietyInterface.editChartEn(enNameData)
+    //   }else{
+    //     res = await dataBaseInterface.chartInfoEditEn(enNameData)
+    //   }
+
+		// 	if(res.Ret !==200) return
+
+		// 	this.$message.success(this.$t('MsgPrompt.edit_msg'))
+    //   this.getChartInfo()
+		// 	this.setEnName = false
+    // },
+
+    /* 打开编辑信息弹窗 */
+    async openLangInfoDia() {
       this.formItemArray={}
       this.formItemArray.chartInfo=[]
       this.formItemArray.chartsList=[]
       this.formItemArray.chartInfo.push({
         label:/* '图表名称' */this.$t('Chart.Detail.chart_name'),
-        value:this.chartInfo.ChartName,
+        value: this.currentLang==='en'?this.chartInfo.ChartNameEn:this.chartInfo.ChartName,
         key:'ChartName',
         id:this.chartInfo.ChartInfoId,
         source: this.chartInfo.Source,
-        notEdit:true
-      },
-      {
-        label:/* '英文图表名称' */this.$t('Chart.Detail.chart_en_name'),
-        value:this.chartInfo.ChartNameEn,
-        key:'ChartNameEn',
-        id:this.chartInfo.ChartInfoId,
-        placeholder:/* '请输入英文图表名称' */this.$t('Chart.InputHolderAll.input_en_name')
+        placeholder:/* '请输入图表名称' */this.$t('Chart.InputHolderAll.input_common',{label:this.$t('Chart.Detail.chart_name')})
       })
 
       if([1,2,5].includes(this.chartInfo.Source)){ //需要设置指标的
         this.tableData.map(item =>{
-          if(item.Unit){
             this.formItemArray.chartsList.push([
               {
                 label:/* '指标名称' */this.$t('Edb.Detail.e_name'),
-                value:item.EdbName,
+                value:this.currentLang==='en'?item.EdbNameEn:item.EdbName,
                 key:'EdbName',
                 id:item.EdbInfoId,
-                notEdit:true
+                placeholder:/* '请输入指标名称' */ this.$t('Edb.InputHolderAll.input_common',{label: this.$t('Edb.Detail.e_name')})
               },
               {
                 label:/* '单位' */this.$t('Edb.Detail.e_unit'),
-                value:item.Unit,
+                value:this.currentLang==='en'?item.UnitEn:item.Unit,
                 key:'Unit',
                 id:item.EdbInfoId,
-                notEdit:true
-              },
-              {
-                label:/* '英文指标名称' */this.$t('Edb.Detail.e_en_name'),
-                value:item.EdbNameEn,
-                key:'EdbNameEn',
-                id:item.EdbInfoId,
-                placeholder:/* '请输入英文指标名称' */ this.$t('Edb.InputHolderAll.input_common',{label: this.$t('Edb.Detail.e_en_name')})
-              },
-              {
-                label:/* '英文单位' */this.$t('Edb.Detail.e_en_unit'),
-                value:item.UnitEn,
-                key:'UnitEn',
-                id:item.EdbInfoId,
-                placeholder:/* '请输入英文单位' */this.$t('Edb.InputHolderAll.input_common',{label: this.$t('Edb.Detail.e_en_unit')})
+                placeholder:/* '请输入单位' */ this.$t('Edb.InputHolderAll.input_common',{label: this.$t('Edb.Detail.e_unit')})
               }
             ])
-          }else{
-            this.formItemArray.chartsList.push([
-              {
-                label:/* '指标名称' */this.$t('Edb.Detail.e_name'),
-                value:item.EdbName,
-                key:'EdbName',
-                id:item.EdbInfoId,
-                notEdit:true
-              },
-              {
-                label:/* '英文指标名称' */this.$t('Edb.Detail.e_en_name'),
-                value:item.EdbNameEn,
-                key:'EdbNameEn',
-                id:item.EdbInfoId,
-                placeholder:this.$t('Edb.InputHolderAll.input_common',{label: this.$t('Edb.Detail.e_en_name')})
-              }
-            ])
-          }
         })
       }
 
@@ -385,17 +505,10 @@ export const chartSetMixin = {
       if(this.chartInfo.Source===2) {
         this.formItemArray.chartInfo.push({
           label:/* '期货名称' */this.$t('Chart.Detail.good_name'),
-          value:this.commodityEdbList[1].EdbName,
+          value:this.currentLang==='en'?this.commodityEdbList[1].EdbNameEn:this.commodityEdbList[1].EdbName,
           key:'FutureGoodName',
           id:this.chartInfo.ChartInfoId,
-          notEdit:true
-        },
-        {
-          label:/* '英文期货名称' */this.$t('Chart.Detail.good_en_name'),
-          value:this.commodityEdbList[1].EdbNameEn,
-          key:'FutureGoodNameEn',
-          id:this.chartInfo.ChartInfoId,
-          placeholder:/* '请输入英文期货名称' */this.$t('Chart.InputHolderAll.input_common',{label:this.$t('Chart.Detail.good_en_name')})
+          placeholder:/* '请输入期货名称' */this.$t('Chart.InputHolderAll.input_common',{label:this.$t('Chart.Detail.good_name')})
         })
       }
 
@@ -403,17 +516,10 @@ export const chartSetMixin = {
       else if(this.chartInfo.Source===5) {
         this.formItemArray.chartInfo.push({
           label:/* '盘面利润名称' */this.$t('Chart.Detail.profit_name'),
-          value:this.chartInfo.ProfitName,
+          value: this.currentLang==='en'?this.chartInfo.ProfitNameEn:this.chartInfo.ProfitName,
           key:'ProfitName',
           id:this.chartInfo.ChartInfoId,
-          notEdit:true
-        },
-        {
-          label:/* '英文盘面利润名称' */this.$t('Chart.Detail.profit_en_name'),
-          value:this.chartInfo.ProfitNameEn,
-          key:'ProfitNameEn',
-          id:this.chartInfo.ChartInfoId,
-          placeholder:/* '请输入英文盘面利润名称' */this.$t('Chart.InputHolderAll.input_common',{label:this.$t('Chart.Detail.profit_en_name')})
+          placeholder:/* '请输入盘面利润名称' */this.$t('Chart.InputHolderAll.input_common',{label:this.$t('Chart.Detail.profit_en_name')})
         })
       }
 
@@ -425,106 +531,85 @@ export const chartSetMixin = {
 
         this.formItemArray.chartInfo.push({
           label:/* 'X轴名称' */this.$t('Chart.Detail.x_name'),
-          value:this.crossVarietyChartData.XName,
+          value:this.currentLang==='en'?this.crossVarietyChartData.XNameEn:this.crossVarietyChartData.XName,
           key:'XName',
           id:TagList[0].ChartTagId,
-          notEdit:true
+          placeholder:/* '请输入X轴名称' */this.$t('Chart.InputHolderAll.input_common',{label:this.$t('Chart.Detail.x_name')})
         },
         {
-          label:/* '英文X轴名称' */this.$t('Chart.Detail.x_en_name'),
-          value:this.crossVarietyChartData.XNameEn,
-          key:'XNameEn',
-          id:TagList[0].ChartTagId,
-          placeholder:/* '请输入英文X轴名称' */this.$t('Chart.InputHolderAll.input_common',{label:this.$t('Chart.Detail.x_en_name')})
-        },{
           label:/* 'Y轴名称' */this.$t('Chart.Detail.y_name'),
-          value:this.crossVarietyChartData.YName,
+          value:this.currentLang==='en'?this.crossVarietyChartData.YNameEn:this.crossVarietyChartData.YName,
           key:'YName',
           id:TagList[1].ChartTagId,
-          notEdit:true
-        },
-        {
-          label:/* '英文Y轴名称' */this.$t('Chart.Detail.y_en_name'),
-          value:this.crossVarietyChartData.YNameEn,
-          key:'YNameEn',
-          id:TagList[1].ChartTagId,
-          placeholder:/* '请输入英文Y轴名称' */this.$t('Chart.InputHolderAll.input_common',{label:this.$t('Chart.Detail.y_en_name')})
+          placeholder:/* '请输入Y轴名称' */this.$t('Chart.InputHolderAll.input_common',{label:this.$t('Chart.Detail.y_name')})
         })
 
         VarietyList.forEach(item => {
-          this.formItemArray.chartsList.push([
+          this.formItemArray.chartsList.push(
             {
               label:/* '品种名称' */this.$t('Chart.Detail.variety_name'),
-              value:item.ChartVarietyName,
+              value:this.currentLang==='en'?item.ChartVarietyNameEn:item.ChartVarietyName,
               key:'ChartVarietyName',
               id:item.ChartVarietyId,
-              notEdit:true
-            },
-            {
-              label:/* '英文品种名称' */this.$t('Chart.Detail.variety_en_name'),
-              value:item.ChartVarietyNameEn,
-              key:'ChartVarietyNameEn',
-              id:item.ChartVarietyId,
-              placeholder:/* '请输入英文品种名称' */this.$t('Chart.InputHolderAll.input_common',{label:this.$t('Chart.Detail.variety_en_name')})
+              placeholder:/* '请输入品种名称' */this.$t('Chart.InputHolderAll.input_common',{label:this.$t('Chart.Detail.variety_name')})
             }
-          ])
+          )
         })
       }
 
-
-      this.setEnName = true
+      this.isLangInfoDia = true
     },
-    // 更新英文信息
-    async updateEnName(enNameData){
-      // console.log(enNameData)
+
+    /* 更新版本图表信息 */
+    async updateLang(paramsData) {
       let res=null
       if([2,5].includes(this.chartInfo.Source)){//商品价格
-        res=await futuresInterface.editChartEn({
-          ChartInfoId: enNameData.ChartInfoId,
-          ChartNameEn: enNameData.ChartNameEn,
-          UnitEn: enNameData.ChartEdbInfoList[0].UnitEn || '',
-          EdbNameEn: enNameData.ChartEdbInfoList[0].EdbNameEn || '',
-          FutureGoodNameEn: enNameData.FutureGoodNameEn || '',
-          ProfitNameEn: enNameData.ProfitNameEn || ''
+        res=await futuresInterface.setChartLangInfo({
+          ChartInfoId: paramsData.ChartInfoId,
+          ChartName: paramsData.ChartName,
+          Unit: paramsData.ChartEdbInfoList[0].Unit || '',
+          EdbName: paramsData.ChartEdbInfoList[0].EdbName || '',
+          FutureGoodName: paramsData.FutureGoodName || '',
+          ProfitName: paramsData.ProfitName || ''
         })
       }else if(this.chartInfo.Source===3){//相关性
-        res=await chartRelevanceApi.editChartEn({
-          ChartInfoId: enNameData.ChartInfoId,
-          ChartNameEn: enNameData.ChartNameEn
+        res=await chartRelevanceApi.setChartLangInfo({
+          ChartInfoId: paramsData.ChartInfoId,
+          ChartName: paramsData.ChartName
         })
       }else if(this.chartInfo.Source===6){//拟合方程
-        res=await fittingEquationInterface.editChartEn({
-          ChartInfoId: enNameData.ChartInfoId,
-          ChartNameEn: enNameData.ChartNameEn
+        res=await fittingEquationInterface.setChartLangInfo({
+          ChartInfoId: paramsData.ChartInfoId,
+          ChartNameEn: paramsData.ChartName
         })
       }else if([7,8,9].includes(this.chartInfo.Source)){//统计特征
-        res=await statisticFeatureInterface.editChartEn({
-          ChartInfoId: enNameData.ChartInfoId,
-          ChartNameEn: enNameData.ChartNameEn
+        res=await statisticFeatureInterface.setChartLangInfo({
+          ChartInfoId: paramsData.ChartInfoId,
+          ChartName: paramsData.ChartName
         })
       }else if(this.chartInfo.Source === 10) {//跨品种分析
-        res=await crossVarietyInterface.editChartEn(enNameData)
+        res=await crossVarietyInterface.setChartLangInfo(paramsData)
       }else{
-        res = await dataBaseInterface.chartInfoEditEn(enNameData)
+        res = await dataBaseInterface.setChartLangInfo(paramsData)
       }
 
 			if(res.Ret !==200) return
 
 			this.$message.success(this.$t('MsgPrompt.edit_msg'))
       this.getChartInfo()
-			this.setEnName = false
+			this.isLangInfoDia = false
     },
 
     /* 切换柱形图中英文 */
     changeBarOptions() {
       //x轴
-      this.options.xAxis.categories = this.barXIdList.map(_ => this.currentLang == 'ch' 
+      this.options.xAxis.categories = this.barXIdList.map(_ => this.currentLang === 'zh' 
         ? this.barEdbData.find(edb => edb.EdbInfoId===_).EdbAliasName
         : this.barEdbData.find(edb => edb.EdbInfoId===_).EdbNameEn)
 
       // 单位
       this.options.yAxis.forEach(item => {
-        item.title.text = this.currentLang == 'ch' ? this.chartInfo.Unit : this.chartInfo.Unit;
+        item.title.text = this.currentLang === 'zh' ? this.chartInfo.Unit : this.chartInfo.Unit;
       });
     },
     // 切换中英文时,更改图表配置
@@ -534,34 +619,34 @@ export const chartSetMixin = {
       console.log(this.options,'options');
       // 散点图
       if(this.chartInfo.ChartType == 5){
-          this.options.yAxis.title.text = this.currentLang == 'ch' ? this.options.yAxis.title.textCh : this.options.yAxis.title.textEn;
-          this.options.xAxis.title.text = this.currentLang == 'ch' ? this.options.xAxis.title.textCh : this.options.xAxis.title.textEn
+          this.options.yAxis.title.text = this.currentLang == 'zh' ? this.options.yAxis.title.textCh : this.options.yAxis.title.textEn;
+          this.options.xAxis.title.text = this.currentLang == 'zh' ? this.options.xAxis.title.textCh : this.options.xAxis.title.textEn
           this.options.series.forEach(item => {
-            item.name = this.currentLang == 'ch' ? item.nameCh : item.nameEn;
+            item.name = this.currentLang == 'zh' ? item.nameCh : item.nameEn;
           });
-          this.options.tooltip.formatter = this.currentLang == 'ch' ? this.options.tooltip.formatterCh : this.options.tooltip.formatterEn;
+          this.options.tooltip.formatter = this.currentLang == 'zh' ? this.options.tooltip.formatterCh : this.options.tooltip.formatterEn;
       }else{
         // 单位
         this.options.yAxis.forEach(item => {
-          item.title.text = this.currentLang == 'ch' ? item.title.textCh : item.title.textEn;
+          item.title.text = this.currentLang == 'zh' ? item.title.textCh : item.title.textEn;
         });
         // 图例  名称
         if(this.chartInfo.ChartType != 2){
           // 季节图 不更改图例名称
           this.options.series.forEach(item => {
-            item.name = this.currentLang == 'ch' 
+            item.name = this.currentLang == 'zh' 
               ? item.nameCh 
               : (item.nameEn||item.nameCh)
           });
         }
         //截面散点 x轴标题
         if(this.chartInfo.ChartType === 10){
-          this.options.xAxis.title.text = this.currentLang == 'ch' ? this.options.xAxis.title.textCh : this.options.xAxis.title.textEn;
-          this.options.tooltip.formatter = this.currentLang == 'ch' ? this.options.tooltip.formatterCh : this.options.tooltip.formatterEn;
+          this.options.xAxis.title.text = this.currentLang == 'zh' ? this.options.xAxis.title.textCh : this.options.xAxis.title.textEn;
+          this.options.tooltip.formatter = this.currentLang == 'zh' ? this.options.tooltip.formatterCh : this.options.tooltip.formatterEn;
           this.options.series.forEach(item => {
             if(!item.linkedTo) {
               item.data.forEach(point => {
-                point.dataLabels.format = this.currentLang == 'ch' ? point.dataLabels.formatCh : (point.dataLabels.formatEn||point.dataLabels.formatCh);
+                point.dataLabels.format = this.currentLang == 'zh' ? point.dataLabels.formatCh : (point.dataLabels.formatEn||point.dataLabels.formatCh);
                 point.dataLabels.color = (this.currentLang==='en' && !point.dataLabels.formatEn) ? '#999' : '#333'
               })
             }
@@ -577,30 +662,30 @@ export const chartSetMixin = {
     changeCommodityLang() {
       console.log(this.options)
         this.options.yAxis.forEach(item => {
-          item.title.text = this.currentLang == 'ch' ? item.title.textCh : item.title.textEn
+          item.title.text = this.currentLang == 'zh' ? item.title.textCh : item.title.textEn
         });
         //图例
         this.options.series.forEach(item => {
-          item.name = this.currentLang == 'ch' ? item.nameCh : item.nameEn
+          item.name = this.currentLang == 'zh' ? item.nameCh : item.nameEn
         });
         //tooltip
-        this.options.tooltip.formatter = this.currentLang == 'ch' ? this.options.tooltip.formatterCh : this.options.tooltip.formatterEn
+        this.options.tooltip.formatter = this.currentLang == 'zh' ? this.options.tooltip.formatterCh : this.options.tooltip.formatterEn
         //x轴
-        this.options.xAxis.categories = this.commodityXData.map(_ => this.currentLang == 'ch' ? _.Name:_.NameEn);
+        this.options.xAxis.categories = this.commodityXData.map(_ => this.currentLang == 'zh' ? _.Name:_.NameEn);
     },
 
     /* 切换相关性图中英文 */
     changeRelevanceLang(){
         this.options.yAxis.forEach(item => {
-          item.title.text = this.currentLang == 'ch' ? item.title.textCh : item.title.textEn
+          item.title.text = this.currentLang == 'zh' ? item.title.textCh : item.title.textEn
         });
         //图例
         this.options.series.forEach(item => {
-          item.name = this.currentLang == 'ch' ? item.nameCh : item.nameEn
+          item.name = this.currentLang == 'zh' ? item.nameCh : item.nameEn
         });
         //tooltip
-        this.options.tooltip.formatter = this.currentLang == 'ch' ? this.options.tooltip.formatterCh : this.options.tooltip.formatterEn
-        this.options.xAxis.title.text=this.currentLang == 'ch' ? this.options.xAxis.title.textCh : this.options.xAxis.title.textEn
+        this.options.tooltip.formatter = this.currentLang == 'zh' ? this.options.tooltip.formatterCh : this.options.tooltip.formatterEn
+        this.options.xAxis.title.text=this.currentLang == 'zh' ? this.options.xAxis.title.textCh : this.options.xAxis.title.textEn
     },
 
 
@@ -2374,31 +2459,31 @@ export const chartSetMixin = {
 		},
 
     /* 拼接动态的指标名称小标签 */
-    concatDynamicTag({ IsAxis,IsOrder,EdbInfoType,LeadValue,LeadUnit },lang='ch') {
+    concatDynamicTag({ IsAxis,IsOrder,EdbInfoType,LeadValue,LeadUnit },lang='zh') {
       // IsAxis左轴1 右轴0 2右2轴 
       //IsOrder正序false 逆序true 
       //EdbInfoType是否是领先指标
       // lang ch 中文 en 英文
-      const axisLabelMap = lang=='ch'?{
+      const axisLabelMap = lang=='zh'?{
         0: '右轴',
         2: '右2轴'
       }:{
         0: 'RHS',
         2: '2-RHS'
       }
-      const orderLabelMap = lang=='ch'?{
+      const orderLabelMap = lang=='zh'?{
         1: '逆序'
       }:{
         1: 'REV'
       }
-      const edbInfoMap = lang=='ch'?{
+      const edbInfoMap = lang=='zh'?{
         0: '领先'
       }:{
         0: 'Lead'
       }
 
       //英文领先单位转换
-      const leadUnit = lang==='ch' ? LeadUnit : this.leadUnitEnMap[LeadUnit];
+      const leadUnit = lang==='zh' ? LeadUnit : this.leadUnitEnMap[LeadUnit];
 
       let axis_tag = axisLabelMap[IsAxis] || '';
       //逆序拼接
@@ -2551,7 +2636,7 @@ export const chartSetMixin = {
       let count = parseInt(widthNum / 21);
       let reg = new RegExp("(.{" + count + "})", "g");
       let newTitle = ''
-      if(this.currentLang == 'ch'){
+      if(this.currentLang == 'zh'){
         newTitle = _.cloneDeep(ChartName).replace(/\s/g, "").replace(reg, "$1<br/>");
       }else{
         newTitle = _.cloneDeep(ChartName);

+ 8 - 4
src/views/dataEntry_manage/thirdBase/BAIINFOTargetbase.vue

@@ -78,7 +78,7 @@
                   (node.Nodewidth || data.NodeWidth + 'px')) ||
                 ''
               }`"
-              >{{ data.ClassifyName }}</span
+              >{{ currentLang==='zh' ? data.ClassifyName : (data.ClassifyNameEn||data.ClassifyName) }}</span
             >
             <div v-if="select_node === data.UniqueCode">
               <img
@@ -740,7 +740,7 @@ export default {
           ? {
               title: "添加分类",
               classify_name: "",
-              parent_classify_name: data.ClassifyName,
+              parent_classify_name: this.currentLang==='zh' ? data.ClassifyName : data.ClassifyNameEn,
               parent_classify_id: data.ClassifyId,
             }
           : {
@@ -758,6 +758,7 @@ export default {
       const parentNodeId = parent.data.ClassifyId;
       const {
         ClassifyName,
+        ClassifyNameEn,
         topParentNodeId,
         ClassifyId,
         BaseFromBaiinfoIndexId,
@@ -772,7 +773,7 @@ export default {
       if (level === 2 && parentNodeId !== 0) {
         const { parent } = node;
         tempForm.parent_classify_id = data.ParentId;
-        tempForm.parent_classify_name = parent.data.ClassifyName;
+        tempForm.parent_classify_name = this.currentLang==='zh' ? parent.data.ClassifyName : parent.data.ClassifyNameEn;
       }
       //是指标(三级,或二级,父节点为未分类节点)
       if (level === 3 || (level === 2 && parentNodeId === 0)) {
@@ -790,7 +791,7 @@ export default {
       this.classifyForm = {
         ...{
           title: type === "index" ? "编辑指标" : "编辑分类",
-          classify_name: ClassifyName,
+          classify_name: this.currentLang==='zh' ? ClassifyName : ClassifyNameEn,
           classify_id: ClassifyId,
           type,
           classifys_id,
@@ -1193,6 +1194,9 @@ export default {
       }
       return this.escapeStr(urlStr);
     },
+    currentLang() {
+      return this.$store.state.lang
+    }
   },
   created() {},
   mounted() {

+ 9 - 5
src/views/dataEntry_manage/thirdBase/SCITargetbase.vue

@@ -78,7 +78,7 @@
                   (node.Nodewidth || data.NodeWidth + 'px')) ||
                 ''
               }`"
-              >{{ data.ClassifyName }}</span
+              >{{ currentLang==='zh' ? data.ClassifyName : (data.ClassifyNameEn||data.ClassifyName) }}</span
             >
             <div v-if="select_node === data.UniqueCode">
               <img
@@ -672,7 +672,7 @@ export default {
           ? {
               title: "添加分类",
               classify_name: "",
-              parent_classify_name: data.ClassifyName,
+              parent_classify_name: this.currentLang==='zh' ? data.ClassifyName : data.ClassifyNameEn,
               parent_classify_id: data.ClassifyId,
             }
           : {
@@ -687,7 +687,7 @@ export default {
       //console.log('data',data,'node',node)
       const { level, parent } = node;
       const parentNodeId = parent.data.ClassifyId;
-      const { ClassifyName, topParentNodeId, ClassifyId, BaseFromSciIndexId } =
+      const { ClassifyName,ClassifyNameEn, topParentNodeId, ClassifyId, BaseFromSciIndexId } =
         data;
       let tempForm = {
         parent_classify_name: "",
@@ -699,7 +699,7 @@ export default {
       if (level === 2 && parentNodeId !== 0) {
         const { parent } = node;
         tempForm.parent_classify_id = data.ParentId;
-        tempForm.parent_classify_name = parent.data.ClassifyName;
+        tempForm.parent_classify_name = this.currentLang==='zh' ? parent.data.ClassifyName : parent.data.ClassifyNameEn;
       }
       //是指标(三级,或二级,父节点为未分类节点)
       if (level === 3 || (level === 2 && parentNodeId === 0)) {
@@ -717,7 +717,7 @@ export default {
       this.classifyForm = {
         ...{
           title: type === "index" ? "编辑指标" : "编辑分类",
-          classify_name: ClassifyName,
+          classify_name: this.currentLang==='zh' ? ClassifyName : ClassifyNameEn,
           classify_id: ClassifyId,
           type,
           classifys_id,
@@ -1081,6 +1081,10 @@ export default {
       }
       return this.escapeStr(urlStr);
     },
+
+    currentLang() {
+      return this.$store.state.lang
+    }
   },
   created() {},
   mounted() {

+ 9 - 18
src/views/dataEntry_manage/thirdBase/smmTargetbase.vue

@@ -47,19 +47,7 @@
           </template>
         </el-autocomplete>
       </div>
-      <!-- <ul class="classify-list">
-				<li
-					:class="[
-						'classify-item',
-						{ act: select_classify === item.TypeCode },
-					]"
-					v-for="item in classifyList"
-					:key="item.TypeCode"
-					@click="changeClassify(item.TypeCode)"
-				>
-					{{ item.TypeName }}
-				</li>
-			</ul> -->
+      
       <div class="scroll-wrap">
         <el-tree
           ref="treeRef"
@@ -94,7 +82,7 @@
                   (node.Nodewidth || data.NodeWidth + 'px')) ||
                 ''
               }`"
-              >{{ data.ClassifyName }}</span
+              >{{ currentLang==='zh' ? data.ClassifyName : (data.ClassifyNameEn||data.ClassifyName) }}</span
             >
             <div v-if="select_node === data.UniqueCode">
               <img
@@ -737,7 +725,7 @@ export default {
           ? {
               title: "添加分类",
               classify_name: "",
-              parent_classify_name: data.ClassifyName,
+              parent_classify_name: this.currentLang==='zh' ? data.ClassifyName : data.ClassifyNameEn,
               parent_classify_id: data.ClassifyId,
             }
           : {
@@ -752,7 +740,7 @@ export default {
       //console.log('data',data,'node',node)
       const { level, parent } = node;
       const parentNodeId = parent.data.ClassifyId;
-      const { ClassifyName, topParentNodeId, ClassifyId, BaseFromSmmIndexId } =
+      const { ClassifyName,ClassifyNameEn, topParentNodeId, ClassifyId, BaseFromSmmIndexId } =
         data;
       let tempForm = {
         parent_classify_name: "",
@@ -764,7 +752,7 @@ export default {
       if (level === 2 && parentNodeId !== 0) {
         const { parent } = node;
         tempForm.parent_classify_id = data.ParentId;
-        tempForm.parent_classify_name = parent.data.ClassifyName;
+        tempForm.parent_classify_name = this.currentLang==='zh' ? parent.data.ClassifyName : parent.data.ClassifyNameEn;
       }
       //是指标(三级,或二级,父节点为未分类节点)
       if (level === 3 || (level === 2 && parentNodeId === 0)) {
@@ -782,7 +770,7 @@ export default {
       this.classifyForm = {
         ...{
           title: type === "index" ? "编辑指标" : "编辑分类",
-          classify_name: ClassifyName,
+          classify_name: this.currentLang==='zh' ? ClassifyName : ClassifyNameEn,
           classify_id: ClassifyId,
           type,
           classifys_id,
@@ -1149,6 +1137,9 @@ export default {
       }
       return this.escapeStr(urlStr);
     },
+    currentLang() {
+      return this.$store.state.lang
+    }
   },
   created() {},
   mounted() {

+ 9 - 4
src/views/dataEntry_manage/thirdBase/steelChemicalbase.vue

@@ -88,7 +88,7 @@
               :style="`width:${
                 (select_node === data.UniqueCode && node.Nodewidth) || ''
               }`"
-              >{{ data.ClassifyName }}</span
+              >{{ currentLang==='zh' ? data.ClassifyName : (data.ClassifyNameEn||data.ClassifyName) }}</span
             >
             <div v-if="select_node === data.UniqueCode">
               <img
@@ -557,6 +557,7 @@ export default {
       {
         BaseFromMysteelChemicalClassifyId,
         ClassifyName,
+        ClassifyNameEn,
         ParentId,
         BaseFromMysteelChemicalIndexId,
       },
@@ -580,10 +581,10 @@ export default {
         this.openClassifyDia = true;
         this.classifyForm = {
           title: "编辑分类",
-          classify_name: ClassifyName,
+          classify_name: this.currentLang==='zh' ? ClassifyName : ClassifyNameEn,
           classify_id: BaseFromMysteelChemicalClassifyId,
           parent_classify_name:
-            node.level === 2 ? node.parent.data.ClassifyName : "",
+            node.level === 2 ? (this.currentLang==='zh'?node.parent.data.ClassifyName:node.parent.data.ClassifyNameEn) : "",
           parent_classify_id: node.level === 2 ? ParentId : "",
         };
       }
@@ -638,7 +639,7 @@ export default {
         ? {
             title: "添加分类",
             classify_name: "",
-            parent_classify_name: item.ClassifyName,
+            parent_classify_name: this.currentLang==='zh' ? item.ClassifyName : item.ClassifyNameEn,
             parent_classify_id: item.BaseFromMysteelChemicalClassifyId,
           }
         : {
@@ -722,6 +723,10 @@ export default {
       urlStr += `&BaseFromMysteelChemicalClassifyId=${this.select_classify}`;
       return this.escapeStr(urlStr);
     },
+    
+    currentLang() {
+      return this.$store.state.lang
+    }
   },
   mounted() {
     this.getClassify();

+ 9 - 6
src/views/datasheet_manage/components/CustomTable.vue

@@ -49,9 +49,9 @@
                 @click="() => { !disabled && item==='EdbName' && clickEdbName(edb)}"
               >
                 <template v-if="item === 'EdbName'">
-                  <span :class="{'edbname-td':disabled}" @click="edbJumpToBase(edb)">{{ edb.EdbAliasName||edb[item] }}</span>
+                  <span :class="{'edbname-td':disabled}" @click="edbJumpToBase(edb)">{{ edb.EdbAliasName||(currentLang==='en'?edb['EdbNameEn']:edb[item]) }}</span>
                 </template>
-                <template v-else>{{ edb[item] }}/{{ edb.Frequency }}</template>
+                <template v-else>{{ (currentLang==='en'?edb['UnitEn']:edb[item]) }}/{{ edb.Frequency }}</template>
               </td>
             </tr>
 
@@ -242,9 +242,9 @@
                 @click="() => { !disabled && item==='EdbName' && clickEdbName(edb)}"
               >
                 <template v-if="item === 'EdbName'">
-                  <span :class="{'edbname-td':disabled}" @click="edbJumpToBase(edb)">{{ edb.EdbAliasName||edb[item] }}</span>
+                  <span :class="{'edbname-td':disabled}" @click="edbJumpToBase(edb)">{{ edb.EdbAliasName||(currentLang==='en'?edb['EdbNameEn']:edb[item]) }}</span>
                 </template>
-                <template v-else>{{ edb[item] }}/{{ edb.Frequency }}</template>
+                <template v-else>{{ (currentLang==='en'?edb['UnitEn']:edb[item]) }}/{{ edb.Frequency }}</template>
               </td>
 
               <!-- 数据列 -->
@@ -475,6 +475,9 @@ export default {
     },
     contextMenuOption(){
         return [{ label: this.$t('ETable.Btn.delete_btn') ,key: 'del' }]
+    },
+    currentLang() {
+      return this.$store.state.lang
     }
   },
   data() {
@@ -550,9 +553,9 @@ export default {
     // 单击指标名称修改别名
     clickEdbName(edb) {
       // console.log(edb)
-      const { EdbName,EdbAliasName,EdbInfoId } = edb;
+      const { EdbName,EdbNameEn,EdbAliasName,EdbInfoId } = edb;
       this.editEdb = {
-        EdbName,
+        EdbName:this.currentLang==='en'?(EdbNameEn||EdbName):EdbName,
         EdbAliasName,
         EdbInfoId
       };

+ 2 - 15
src/views/datasheet_manage/components/MixedTable.vue

@@ -159,7 +159,7 @@
         <div :class="['item',{'deletesty': menu.key==='reset'}]" v-for="menu in config.contextMenuOption" :key="menu.key" @click="handleContext(menu.key)">
           <span v-if="!menu.children">{{menu.label}}</span>
           
-          <el-collapse v-model="activeNames" @change="handleChange" v-if="menu.children">
+          <el-collapse v-model="activeNames" @change="handleChange" v-if="menu.children" class="mixed-edb-slide-collapse">
             <el-collapse-item name="1">
               <template slot="title">
                  {{menu.label}}
@@ -180,19 +180,6 @@
             </el-collapse-item>
           </el-collapse>  
 
-          <!-- 二级菜单 -->
-          <!-- <div class="subMenu-wrapper" v-if="menu.children">
-            <div slot="reference" class="item" v-for="submenu in menu.children" :key="submenu.key" @click="edbCalculateInsertOpen(submenu)">
-                <el-popover
-                  width="300"
-                  trigger="hover"
-                  placement="right"
-                >
-                  <div v-html="formulaTip.get(submenu.fromEdbKey)"></div>
-                  <div slot="reference" style="width:100%">{{submenu.label}}</div>   
-                </el-popover>
-            </div>
-          </div> -->
         </div>
       </div>
     </template>
@@ -1421,7 +1408,7 @@ export default {
     }
   }
 }
-.el-collapse {
+.mixed-edb-slide-collapse {
   border: none !important;
   .el-collapse-item__header {
     padding: 0;

+ 5 - 1
src/views/datasheet_manage/components/calculateEdbDia.vue

@@ -46,7 +46,7 @@
                 v-for="(item,index) in edbArrFromTable" 
                 :key="index"
                 @click="selectTableEdbHandle(item)"
-              >{{ item.EdbName }}</el-tag>
+              >{{ currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName }}</el-tag>
           </div>
         </section>
         
@@ -280,6 +280,10 @@ export default {
 				{label: this.$t('ETable.Date.calendar_lunar'),key: '农历'},
 			]
     },
+
+    currentLang() {
+			return this.$store.state.lang
+		}
   },
   watch: {
     isShow(nval) {

+ 6 - 2
src/views/datasheet_manage/components/edbDetailSection.vue

@@ -66,7 +66,7 @@ export default {
 				},
 				{
 					label: this.$t('Edb.Detail.e_name') || '指标名称',
-					key: 'EdbName',
+					key: this.currentLang==='en'?'EdbNameEn':'EdbName',
 				},
 				{
 					label: this.$t('Edb.Detail.e_fre') ||  '频度',
@@ -74,7 +74,7 @@ export default {
 				},
 				{
 					label: this.$t('Edb.Detail.e_unit') ||  '单位',
-					key: 'Unit',
+					key: this.currentLang==='en'?'UnitEn':'Unit',
 				},
 				{
 					label: this.$t('Edb.Detail.e_start_time') ||  '起始时间',
@@ -91,6 +91,10 @@ export default {
 					key: 'SourceName',
 				},
 			]
+    },
+
+    currentLang() {
+      return this.$store.state.lang
     }
   },
   methods: {},

+ 3 - 1
src/views/datasheet_manage/customSheetEdit.vue

@@ -203,7 +203,7 @@ export default {
     async handleSelectTarget(e) {
       if(!e) return
 
-      const { EdbName,EdbInfoId,Unit,Frequency } = e;
+      const { EdbName,EdbNameEn,UnitEn,EdbInfoId,Unit,Frequency } = e;
       if(this.$refs.customTableRef.config.data.find(_ => _.EdbInfoId===EdbInfoId)) return this.$message.warning(this.$t('OnlineExcelPage.already_exists_msg') )
       
       const {Data} = this.$refs.customTableRef.config.data.length 
@@ -223,6 +223,8 @@ export default {
         EdbAliasName: '',
         EdbName,
         Unit,
+        EdbNameEn,
+        UnitEn,
         Frequency,
         EdbInfoId,
       })

+ 10 - 3
src/views/edbHistoryPage.vue

@@ -1,7 +1,7 @@
 <template>
     <!-- 指标溯源页 -->
     <div class="edb-history-page-wrap">
-        <div class="edb-title">{{treeData.EdbName||''}}</div>
+        <div class="edb-title">{{currentLang==='en'?(treeData.EdbNameEn||treeData.EdbName):treeData.EdbName}}</div>
         <div class="edb-source-wrap">
             <vue2-org-tree
                 :data="treeData"
@@ -25,13 +25,20 @@ export default {
             treeData:{}
         };
     },
+    computed: {
+        currentLang() {
+            return this.$store.state.lang
+        }
+    },
     methods: {
         renderContent(h, data) {
+            let name = this.currentLang === 'en'?(data.EdbNameEn||data.EdbName):data.EdbName;
+            
             return (
                 <el-tooltip content={data.RuleTitle} placement='top' popper-class='node-tooltip'>
                     {
-                        data.IsStop?<span class='node stop'>{data.EdbName+'(暂停更新)'}</span>
-                        :<span class='node'>{data.EdbName}</span>
+                        data.IsStop?<span class='node stop'>{name+'(暂停更新)'}</span>
+                        :<span class='node'>{name}</span>
                     }
                 </el-tooltip>
             )

+ 16 - 5
src/views/futures_manage/chartEditor.vue

@@ -36,7 +36,7 @@
 						<el-option
 							v-for="item in searchOptions"
 							:key="item.EdbInfoId"
-							:label="item.EdbName"
+							:label="currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName"
 							:value="item.EdbInfoId"
 							:disabled="!item.HaveOperaAuth"
 						>
@@ -48,7 +48,7 @@
 									style="vertical-align:middle" 
 									v-if="!item.HaveOperaAuth"
 								/>
-								{{item.EdbName}}
+								{{currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName}}
 							</div>
 						</el-option>
 					</el-select>
@@ -81,8 +81,16 @@
 							@change="changeFuturesHandle"
 						/>
 					</el-form-item>
-					<el-form-item :label="$t('ToolBox.CommodityPriceChart.chart_name')" prop="ChartName">
+					<el-form-item :label="$t('ToolBox.CommodityPriceChart.chart_name')" :prop="currentLang==='en'?'ChartNameEn':'ChartName'">
 						<el-input
+							v-if="currentLang==='en'"
+							v-model="chartInfo.ChartNameEn"
+							style="width: 90%"
+							:placeholder="$t('Dialog.require_vaild')"
+							clearable
+						/>
+						<el-input
+							v-else
 							v-model="chartInfo.ChartName"
 							style="width: 90%"
 							:placeholder="$t('Dialog.require_vaild')"
@@ -246,6 +254,9 @@ export default {
 				ChartName:[
 					{ required: true, message: this.$t('ToolBox.CommodityPriceChart.tips_msg02')||'图表名称不能为空', trigger: 'blur' },
 				],
+				ChartNameEn:[
+					{ required: true, message: this.$t('ToolBox.CommodityPriceChart.tips_msg02')||'图表名称不能为空', trigger: 'blur' },
+				],
 				classify:[
 					{ required: true, message: this.$t('ToolBox.CommodityPriceChart.tips_msg03')||'图表分类不能为空', trigger: 'blur' },
 				],
@@ -286,7 +297,7 @@ export default {
 						ProfitNameEn: DataResp.ProfitNameEn,
 						ProfitName: DataResp.ProfitName,
 					} : {
-						...ChartInfo, 
+						...ChartInfo,
 						classify: ChartInfo.ChartClassifyId,
 						futures_id: BarChartInfo.EdbInfoIdList.find(_ => _.Source===2).EdbInfoId
 					};
@@ -482,7 +493,7 @@ export default {
 
 			let public_param = {
 				ChartClassifyId: this.chartInfo.classify || 0,
-				ChartName: this.chartInfo.ChartName,
+				ChartName: this.currentLang==='en'?this.chartInfo.ChartNameEn:this.chartInfo.ChartName,
 				ChartType:8,
 				DateType: 6,
 			}

+ 20 - 10
src/views/futures_manage/commodityChartBase.vue

@@ -37,7 +37,7 @@
 						<el-option
 							v-for="item in searchOptions"
 							:key="item.ChartInfoId"
-							:label="item.ChartName"
+							:label="currentLang==='en'?(item.ChartNameEn||item.ChartName):item.ChartName"
 							:value="item.ChartInfoId"
 						>
 						</el-option>
@@ -84,7 +84,7 @@
 									(select_node === data.UniqueCode && node.Nodewidth) || ''
 								}`"
 							>
-								<span>{{ data.ChartClassifyName }}</span>
+								<span>{{ currentLang==='en'?(data.ChartClassifyNameEn||data.ChartClassifyName):data.ChartClassifyName }}</span>
 							</span>
 							<span
 								style="display: flex; align-items: center"
@@ -149,7 +149,7 @@
                 <div class="chartEn-mark" v-show="chartInfo.IsEnChart" style="top: 0;left: 0;">En</div>
                 <div class="chart-show-cont"  v-if="!chartInfo.WarnMsg">
                   <div class="chartWrapper" id="chartWrapper">
-                    <h2 class="chart-title">{{ chartInfo.ChartName }}</h2>
+                    <h2 class="chart-title">{{ currentLang==='en'?(chartInfo.ChartNameEn||chartInfo.ChartName):chartInfo.ChartName }}</h2>
                     <Chart 
 											:options="options"
 											:chartInfo="chartInfo"
@@ -197,7 +197,7 @@
 									@saveChartHandle="saveChartHandle"
 									@saveChartOtherHandle="saveChartOtherHandle"
 									@editChartHandle="editChartHandle"
-									@openEnNameDia="openEnNameDia"
+								  @openLangInfoDia="openLangInfoDia"
 									@delChartHandle="delChartHandle"
 								/>
               </el-col>
@@ -245,11 +245,19 @@
     />
 
 		<!-- 输入英文指标弹窗 -->
-		<set-en-name-dia 
+		<!-- <set-en-name-dia 
 			:isOpenDialog="setEnName" 
 		  :formData="formItemArray"
 			@cancel="setEnName=false"
    	  @updateEnName="updateEnName"
+		/> -->
+
+		<!-- 设置对应版本信息弹窗 -->
+		<setLangInfoDia
+			:isOpenDialog="isLangInfoDia"
+			:formData="formItemArray"
+			@cancel="isLangInfoDia=false" 
+			@updateLang="updateLang"
 		/>
 
 	</div>
@@ -267,6 +275,7 @@ import SaveChartOther from '@/views/dataEntry_manage/components/SaveChartOther';
 import setEnNameDia from '@/views/dataEntry_manage/components/setEnNameDia.vue'
 import { chartSetMixin } from '@/views/dataEntry_manage/mixins/chartPublic';
 import { copyOtherOptions } from '@/utils/defaultOptions';
+import setLangInfoDia from '@/views/dataEntry_manage/components/setLangInfo.vue'
 export default {
 	components: { 
 		changeLang,
@@ -274,7 +283,8 @@ export default {
 		Chart,
 		addMyClassifyDia,
 		SaveChartOther,
-		setEnNameDia
+		setEnNameDia,
+		setLangInfoDia
 	},
 	mixins:[ leftMixin,chartSetMixin ],
 	computed: {
@@ -339,7 +349,7 @@ export default {
 		/* 图表id */
 		select_id(newval) {
 			if(newval) {
-				this.currentLang = 'ch';
+				// this.currentLang = 'zh';
 				this.getDetailHandle();
 			}else {
 				this.chartInfo = {};
@@ -455,12 +465,12 @@ export default {
 		},
 
     /* 编辑节点 */
-    editNode(node, { ChartClassifyName,ChartClassifyId }) {
+    editNode(node, { ChartClassifyName,ChartClassifyNameEn, ChartClassifyId }) {
 
       this.dialog_title = this.$t('Table.edit_btn')||'编辑';
       /* 编辑目录 */
       this.classifyForm = {
-        classify_name: ChartClassifyName,
+        classify_name: this.currentLang==='en'?ChartClassifyNameEn:ChartClassifyName,
         classify_id: ChartClassifyId,
       };
       this.classifyDia = true;
@@ -610,7 +620,7 @@ export default {
 
 		 /* 点击复制先用canvas画出 转成图片在放到粘贴板中 */
     copyChartHandle:_.debounce(function(type){{
-      let chartsName = this.currentLang=='ch'?this.chartInfo.ChartName:this.chartInfo.ChartNameEn
+      let chartsName = this.currentLang=='zh'?this.chartInfo.ChartName:this.chartInfo.ChartNameEn
       let { heightNum, widthNum , newTitle , dynamic_copyOptions} = this.dynamicWidthAndHeight(type,this.chartInfo.ChartType,chartsName,this.commodityChartData.length)
       const chartType = 'seasonLegend';
       // 英文转SVG设置变动

+ 19 - 132
src/views/mychart_manage/components/chartDetailDia.vue

@@ -194,9 +194,9 @@
                 v-permission="permissionBtn.myETAPermission.myChart_enNameSetting"
                 class="span-item"
                 style="margin-left: 7px"
-                @click="openEnNameDia"
+                @click="openLangInfoDia"
               >
-                <span> <img style="width: 16px;vertical-align: middle" :src="$icons.to_en" />&nbsp;<!-- 设置英文名称 -->{{$t('Edb.detail_en_btn')}} </span>
+                <span> <img style="width: 16px;vertical-align: middle" :src="$icons.to_en" />&nbsp;<!-- 编辑信息 -->{{$t('Edb.detail_en_btn')}} </span>
               </span>
               <el-popconfirm
                 v-permission="permissionBtn.myETAPermission.myChart_del"
@@ -380,125 +380,6 @@
               highlight-current-row
               border
             >
-              <!-- 可配置展开 只用于默认图 季节性隐藏-->
-              <!-- <el-table-column type="expand" v-if="sameOptionType.includes(chartInfo.ChartType) && chartInfo.ChartType!==5 && chartInfo.Source===1">
-                <template slot-scope="props">
-                  <div class="options-cont">
-                    //堆叠图 或组合图中的堆叠类型 非第一项隐藏配置
-                    <template v-if="showYOptionsHandle(props.row,props.$index)">
-                        <el-checkbox v-model="props.row.IsOrder">{{$t('Chart.Detail.re_order')}}</el-checkbox>
-                        <el-radio-group v-model="props.row.IsAxis" size="mini">
-                          <el-radio-button :label="1">{{$t('Chart.Detail.l_axis')}}</el-radio-button></el-radio-button>
-                          <el-radio-button :label="0">{{$t('Chart.Detail.r_axis')}}</el-radio-button>
-                          //指标有右轴时才可以选右2轴 不然没有右2这个概念的意义
-                          <el-radio-button 
-                            v-if="[1,6].includes(chartInfo.ChartType)"
-                            :label="2" 
-                            :disabled="(tableData.findIndex(_ => _.IsAxis===0) === -1) 
-                            || (tableData.findIndex(_ => _.IsAxis===0) === props.$index 
-                                && tableData.filter(_ => _.IsAxis===0).length === 1)"
-                          >t('Chart.Detail.rtwo_axis')}}</el-radio-button>
-                        </el-radio-group>
-                    </template>
-                    <div style="min-width: 250px">
-                      <el-radio
-                        v-model="props.row.EdbInfoType"
-                        :label="1"
-                        @change="getPreviewChartInfo"
-                        >{{$t('Chart.Detail.stand_lead')}}</el-radio
-                      >
-                      <div style="margin-top: 22px">
-                        <el-radio
-                          v-model="props.row.EdbInfoType"
-                          :label="0"
-                          style="margin-right: 10px"
-                          @change="getPreviewChartInfo"
-                          >{{$t('Chart.Detail.leading_lead')}}</el-radio
-                        >
-                        <template v-if="props.row.EdbInfoType === 0">
-                          {{$t('EtaChartAddPage.label_lead')}}
-                          <el-input
-                            style="width: 60px"
-                            size="mini"
-                            type="number"
-                            min="0"
-                            v-model="props.row.LeadValue"
-                            @change="getPreviewChartInfo"
-                            @keyup.native="filterCode(props.row)"
-                          ></el-input>
-                          <el-select
-                            v-model="props.row.LeadUnit"
-                            placeholder=""
-                            style="width: 60px"
-                            size="mini"
-                            @change="getPreviewChartInfo"
-                          >
-                            <el-option
-                              v-for="item in fre_options"
-                              :key="item"
-                              :label="item"
-                              :value="item"
-                            >
-                            </el-option>
-                          </el-select>
-                        </template>
-                      </div>
-                    </div>
-                    <div>
-                      <div style="display: flex">
-                        <span style="margin-right: 3px">{{$t('Chart.Detail.line_color')}}:</span>
-                        <el-color-picker
-                          v-model="props.row.ChartColor"
-                          size="mini"
-                          show-alpha
-                          :predefine="predefineColors"
-                        ></el-color-picker>
-                      </div>
-                      <div 
-                        style="margin-top: 12px"
-                        v-if="chartInfo.ChartType === 1 
-                        || (chartInfo.ChartType === 6 && props.row.ChartStyle==='spline')"
-                      >
-                        {{$t('Chart.Detail.line_size')}}:
-                        <el-input
-                          style="width: 60px"
-                          size="mini"
-                          type="number"
-                          :min="1"
-                          v-model="props.row.ChartWidth"
-                        />
-                      </div>
-                    </div>
-                    <div v-if="chartInfo.ChartType === 6">
-                      <span style="margin-right: 3px"><{{$t('Chart.label_create_sty')}}:</span>
-                      <el-select
-                        v-model="props.row.ChartStyle"
-                        placeholder="请选择生成样式"
-                        style="width: 50%"
-                        class="edb-item-style"
-                      >
-                        <el-option
-                          v-for="item in chartItemStyleArr"
-                          :key="item.key"
-                          :label="item.label"
-                          :value="item.value"
-                        >
-                        </el-option>
-                      </el-select>
-                    </div>
-                    <div class="copy-excel">
-                      <span class="editsty" @click="copyCode(props.row)" v-if="isAllowCopyData">
-                        <i class="el-icon-document-copy" />&nbsp;{{$t('Edb.detail_copydata_btn')}}</span
-                      >
-                      <span 
-                        class="editsty" v-if="isAllowCheckData"
-                        @click="viewTarget(props.row)"
-                        style="display:block;margin-top:15px;"
-                      >&nbsp;{{$t('Edb.detail_lookdata_btn')}}</span>
-                    </div>
-                  </div>
-                </template>
-              </el-table-column> -->
               <el-table-column
                 v-for="item in tableColums"
                 :key="item.label"
@@ -569,7 +450,7 @@
     />
 
     <!-- 输入英文指标弹窗 -->
-    <set-en-name-dia 
+    <!-- <set-en-name-dia 
       :isOpenDialog="setEnName" 
       @cancel="setEnName=false" 
       @updateEnName="updateEnName" 
@@ -577,13 +458,18 @@
       :chartType="chartInfo.ChartType"
       :datainfo="chartInfo.ChartType===10?JSON.parse(chartInfo.ExtraConfig):null"
       :edblist="chartInfo.ChartType===10?tableData:[]"
-    />
-
-    <!-- 指标历史记录 -->
-    <!-- <edbHistoryDialog
-      :isOpenDialog.sync="isLookHistory"
-      :edbId="lookEdbId"
     /> -->
+
+    <!-- 设置对应版本信息弹窗 -->
+		<setLangInfoDia
+			:isOpenDialog="isLangInfoDia"
+			:formData="formItemArray"
+      :chartType="chartInfo.ChartType"
+      :datainfo="chartInfo.ChartType===10?JSON.parse(chartInfo.ExtraConfig):null"
+      :edblist="chartInfo.ChartType===10?tableData:[]"
+			@cancel="isLangInfoDia=false" 
+			@updateLang="updateLang"
+		/>
   </div>
 </template>
 
@@ -601,11 +487,12 @@ import SaveChartOther from '@/views/dataEntry_manage/components/SaveChartOther';
 import DateChooseDia from '@/views/dataEntry_manage/components/DateChooseDia';
 import changeLang from "@/views/dataEntry_manage/components/changeLang"
 import setEnNameDia from "@/views/dataEntry_manage/components/setEnNameDia"
+import setLangInfoDia from '@/views/dataEntry_manage/components/setLangInfo.vue'
 import { chartSetMixin } from '@/views/dataEntry_manage/mixins/chartPublic'
 import { copyFit } from '@/utils/svgToblob.js';
 
 export default {
-  components: { Chart, DateChooseDia,SaveChartOther,changeLang,setEnNameDia },
+  components: { Chart, DateChooseDia,SaveChartOther,changeLang,setEnNameDia,setLangInfoDia },
   mixins: [ chartSetMixin],
   directives: {
     'click-outside':{
@@ -984,7 +871,7 @@ export default {
     },
     // 英文面板时候的判断
     copyChartConfirm(type){
-        if(this.currentLang=='en'){
+        if(this.currentLang==='en'){
           // 是否所有数据都填写完
           let flag=true
           // 是否有英文表格名称
@@ -1072,11 +959,11 @@ export default {
     },
     /* 点击复制先用canvas画出 转成图片在放到粘贴板中 */
     copyChartHandle:_.debounce(function(type){
-      let chartsName = this.currentLang=='ch'?this.chartInfo.ChartName:this.chartInfo.ChartNameEn
+      let chartsName = this.currentLang==='zh'?this.chartInfo.ChartName:this.chartInfo.ChartNameEn
       let { heightNum, widthNum , newTitle , dynamic_copyOptions} = this.dynamicWidthAndHeight(type,this.chartInfo.ChartType,chartsName, this.chartInfo.Source === 1?this.tableData.length:this.commodityChartData.length)
       const chartType = this.sameOptionType.includes(this.chartInfo.ChartType) ? 'legend' : 'seasonLegend';
       // 英文转SVG设置变动
-      if(this.currentLang == 'en'){
+      if(this.currentLang === 'en'){
         // 散点图 如果横轴单位为'英文单位',表示客户没填,转成svg时置为空
         if(this.chartInfo.ChartType == 5){
           this.$refs.chartRef.chart.options.xAxis.forEach(it => {

+ 7 - 2
src/views/mychart_manage/index.vue

@@ -390,7 +390,7 @@ export default {
       select_classify_userid: 0,//选中图表的创建人id
       haveMove: false,
 
-      chart_lang: 'ch',
+      // chart_lang: 'ch',
 
       hintDialogShow:false,
       detailArr:[]
@@ -414,6 +414,11 @@ export default {
     //是否显示可见权限
     isShowGroupBtn(){
         return this.permissionBtn.isShowBtn('myETAPermission','myChart_classifyOpt_show')
+    },
+
+    //语言版本
+    chart_lang() {
+      return this.$store.state.lang
     }
   },
   watch: {
@@ -454,7 +459,7 @@ export default {
     getClassify() {
       mychartInterface.classifyList().then((res) => {
         if (res.Ret !== 200) return;
-        this.chart_lang = res.Data&&res.Data.Language === 'EN' ? 'en' : 'ch';
+        // this.chart_lang = res.Data&&res.Data.Language === 'EN' ? 'en' : 'ch';
 
         this.classifyList = res.Data ? res.Data.List.map(item => ({
           ...item,

+ 5 - 5
src/views/ppt_manage/mixins/mixins.js

@@ -1696,30 +1696,30 @@ export default {
     },
 
        /* 拼接动态的指标名称小标签 */
-    concatDynamicTag({ IsAxis,IsOrder,EdbInfoType,LeadValue,LeadUnit },lang='ch') {
+    concatDynamicTag({ IsAxis,IsOrder,EdbInfoType,LeadValue,LeadUnit },lang='zh') {
       // IsAxis左轴1 右轴0 2右2轴 
       //IsOrder正序false 逆序true 
       //EdbInfoType是否是领先指标
       // lang ch 中文 en 英文
-      const axisLabelMap = lang=='ch'?{
+      const axisLabelMap = lang=='zh'?{
         0: '右轴',
         2: '右2轴'
       }:{
         0: 'RHS',
         2: '2-RHS'
       }
-      const orderLabelMap = lang=='ch'?{
+      const orderLabelMap = lang=='zh'?{
         1: '逆序'
       }:{
         1: 'REV'
       }
-      const edbInfoMap = lang=='ch'?{
+      const edbInfoMap = lang=='zh'?{
         0: '领先'
       }:{
         0: 'Lead'
       }
       //英文领先单位转换
-      const leadUnit = lang==='ch' ? LeadUnit : this.leadUnitEnMap[LeadUnit];
+      const leadUnit = lang==='zh' ? LeadUnit : this.leadUnitEnMap[LeadUnit];
 
       let axis_tag = axisLabelMap[IsAxis] || '';
       //逆序拼接

+ 14 - 9
src/views/ppt_manage/mixins/pptMixins.js

@@ -35,6 +35,11 @@ const chunkArray = (array, chunkSize)=>{
 export default {
   components:{ FormatOne,FormatTwo,FormatThree,
     FormatFour,FormatFive,FormatSix,FormatSeven,FormatEight,FormatNine,FormatTen,FormatEle,FormatTwelve},
+  computed: {
+    globalLang() { //全局语言版本 中文ppt可用 英文ppt固定en忽视
+      return this.$store.state.lang
+    }
+  },
   data(){
     return{
       chartInfo:null,
@@ -209,9 +214,9 @@ export default {
     * 10 跨品种分析
     */
     //获取图表数据
-    async getchartData(id,lang='ch') {
+    async getchartData(id,lang='zh') {
         console.log('getChartData')
-      const currentLang = this.currentLang || lang
+      const currentLang = this.currentLang==='en'?'en':this.globalLang;
       const res = await dataBaseInterface.getChartByCode({
         UniqueCode: id,
         IsCache:true
@@ -295,7 +300,7 @@ export default {
 
       //根据图表数据获取配置项
       if(Data.Status){
-        const chartTitle = currentLang==='ch'?this.chartInfo.ChartName
+        const chartTitle = currentLang==='zh'?this.chartInfo.ChartName
                             :this.chartInfo.ChartNameEn?this.chartInfo.ChartNameEn
                             :this.chartInfo.ChartName
         //由于英文PPT复制图表名称时,使用MyChartTitle字段会复制英文名称(如果有),现需要复制中文名称,遂增加了chartTitleCN存储中文名称
@@ -320,9 +325,9 @@ export default {
     setOptionsLang(lang){
       console.log(lang)
       //中文图表不需要下面的设置
-      if(lang==='ch') return 
+      if(lang==='zh') return 
       //当 图表名称、指标名称、指标单位 有其一没有英文名称时,也不需要下面的设置
-      if(!this.checkChartEnData()) return 
+      // if(!this.checkChartEnData()) return 
       const {ChartType} = this.chartInfo
       if(ChartType!=5){
         this.options.yAxis.forEach(item=>{
@@ -365,9 +370,9 @@ export default {
 
     /* 设置价格曲线英文 */
     setCommodityLang(lang) {
-      if(lang==='ch') return 
+      if(lang==='zh') return 
       //当 图表名称、指标名称、指标单位 有其一没有英文名称时,也不需要下面的设置
-      if(!this.checkChartEnData()) return 
+      // if(!this.checkChartEnData()) return 
 
       this.options.yAxis.forEach(item => {
         item.title.text =  item.title.textEn || item.title.textCh
@@ -384,8 +389,8 @@ export default {
 
     /* 切换相关性图中英文 */
     changeRelevanceOptions(lang){
-      if(lang==='ch') return 
-      if(!this.checkChartEnData()) return 
+      if(lang==='zh') return 
+      // if(!this.checkChartEnData()) return 
       console.log(this.options)
         this.options.yAxis.forEach(item => {
           item.title.text = item.title.textEn || item.title.textCh

+ 1 - 0
src/views/ppt_manage/newVersion/components/catalog/pptContent.vue

@@ -89,6 +89,7 @@ export default {
         },//当前PPT的页数和总图表数是否合法
         interruptLoad:false,//是否中断加载
         pptTime:null,//ppt的最近一次保存时间or最近一次发布时间
+        currentLang:'zh',//语言标识
     };
   },
   watch:{

+ 2 - 1
src/views/ppt_manage/newVersion/pptCatalog.vue

@@ -419,7 +419,8 @@ export default {
         { label: this.$t('Slides.share_ppt_tabs'), key: '2' },
         { label: this.$t('Slides.public_ppt_tabs'), key: '3' },
       ]
-    } 
+    },
+
   },
   watch:{
     searchTitle(newVal){

+ 2 - 1
src/views/ppt_manage/newVersion/pptEditor.vue

@@ -388,7 +388,8 @@ export default {
         {val:'表格', label:this.$t('Slides.table_name')},
         {val:'语义分析插入', label:this.$t('Slides.table_analysis_semantic')},
       ]
-    },
+    },  
+    
   },
   created() {
     //获取图表,沙盘,表格数据

+ 1 - 2
src/views/ppt_manage/newVersion/pptEnEditor.vue

@@ -140,8 +140,7 @@
                     <template v-if="chartList.length">
                     <div v-for="(item, index) in chartList" :key="index" @click="chooseChart(item,'chart')" class="chart-item" :style="item.Disabled && 'cursor: not-allowed;'">
                         <div class="chartEn-mark" style="top: 0;left:0;" @click.stop="setEnHandle(item)" v-if="item.HaveOperaAuth">
-                          <span v-if="item.IsEnChart">En</span>
-                          <i class="el-icon-edit" v-else style="font-size:15px"/>
+                          <i class="el-icon-edit" style="font-size:15px"/>
                         </div>
                         <p class="chart_tit" style="word-break: break-all;">{{ chart_source===1 ? (item.ChartNameEn||item.ChartName) : item.ChartName }}</p>
                         <img :src="!item.HaveOperaAuth?$icons.lock_big:item.ChartImage" ref="insert_img" />

+ 2 - 0
src/views/ppt_manage/newVersion/pptPresent.vue

@@ -248,6 +248,8 @@ export default {
       : `Slide${this.currentIndex+1} of ${this.isShowBack?(this.pageList.length+2):(this.pageList.length+1)}`
       return str
     },
+
+    //语言版本
   },
   methods: {
     //切换当前显示的页面

+ 1 - 0
src/views/ppt_manage/newVersion/pptPublish.vue

@@ -142,6 +142,7 @@ export default {
     lineClamp(){
         return this.LayoutType===2?2:3
     },
+
   },
   methods: {
     //计算title的字节数

+ 12 - 7
src/views/predictEdb_manage/addPredicEdb.vue

@@ -48,7 +48,7 @@
                 <el-option
                   v-for="item in searchOptions"
                   :key="item.EdbInfoId"
-                  :label="item.EdbName"
+                  :label="currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName"
                   :value="item.EdbInfoId"
                   :disabled="!item.HaveOperaAuth"
                 >
@@ -62,7 +62,7 @@
                         v-if="!item.HaveOperaAuth"
                       />
 
-                      {{item.EdbName}}
+                      {{currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName}}
                     </div>
                   </edbDetailPopover>
                 </el-option>
@@ -282,7 +282,7 @@
                     <el-option
                       v-for="item in searchOptions"
                       :key="item.EdbInfoId"
-                      :label="item.EdbName"
+                      :label="currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName"
                       :value="item.EdbInfoId"
                       :disabled="!item.HaveOperaAuth"
                     >
@@ -294,7 +294,7 @@
                           style="vertical-align:middle" 
                           v-if="!item.HaveOperaAuth"
                         />
-                        {{item.EdbName}}
+                        {{currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName}}
                       </div>
                     </el-option>
                   </el-select>
@@ -451,7 +451,11 @@ export default {
         }
       }
       return obj
-    }
+    },
+
+    currentLang() {
+			return this.$store.state.lang
+		}
   },
   watch: {
     showChart(n, o) {
@@ -597,6 +601,7 @@ export default {
             ClassifyId,
             ClassifyList,
             EdbName,
+            EdbNameEn,
             Frequency,
             LatestValue,
             RuleList,
@@ -610,7 +615,7 @@ export default {
             classify: classifyArr||[],
             oldEdb: res.Data.CalculateList[0].FromEdbInfoId,
             oldEdbName: res.Data.CalculateList[0].FromEdbName,
-            edbName: EdbName,
+            edbName: this.currentLang==='en'?EdbNameEn:EdbName,
             frequency: Frequency,
             newdata:  res.Data.CalculateList[0].EndValue,
             lasetDate: res.Data.CalculateList[0].EndDate,
@@ -735,7 +740,7 @@ export default {
         const { Data } = await dataBaseInterface.targetDetail({
           EdbInfoId: val,
         });
-        this.formData.edbName = `${Data.EdbName}(预测)`;
+        this.formData.edbName = `${this.currentLang==='en'?Data.EdbNameEn:Data.EdbName}(预测)`;
         this.formData.frequency = Data.Frequency;
         this.formData.newdata = Data.LatestValue;
         this.formData.lasetDate = Data.LatestDate;

+ 1 - 1
src/views/predictEdb_manage/components/chartInfo.vue

@@ -166,7 +166,7 @@ export default {
         }
     },
     mounted() {
-        this.changeLanguage(this.lang)
+        // this.changeLanguage(this.lang)
     },
     methods: {
         handleInitData(){

+ 3 - 11
src/views/predictEdb_manage/components/childData.vue

@@ -17,15 +17,7 @@
           <span>{{ item.label }}</span>
         </template>
         <template slot-scope="{row}">
-          <span v-if="item.key === 'Unit' && lang === 'ch'">{{ row.Unit }}</span>
-          <span v-else-if="item.key === 'Unit' && lang !== 'ch' && row.Unit==='无'"></span>
-          <span 
-            v-else-if="item.key === 'Unit' && lang !== 'ch' && row.Unit!=='无'" 
-            :style="!row.UnitEn && 'color: #999'"
-            @click="changeEnOptions"
-          >
-            {{ row.UnitEn || '英文单位' }}
-          </span>
+          <span v-if="item.key === 'Unit'">{{ lang === 'en'?row.UnitEn:row.Unit }}</span>
           <span v-else-if="item.key === 'Frequency'">{{ lang === 'ch' ? row.Frequency : row.FrequencyEn }}</span>
           <span v-else>{{ row[item.key] }}</span>
         </template>
@@ -198,8 +190,8 @@ export default {
       })
     },
 
-    changeEnOptions() {
-      this.$emit('openEnNameDia',this.tableData[0])
+    changeLangOptions() {
+      this.$emit('openLangInfoDia',this.tableData[0])
     },
 
     /* 滚动加载 */

+ 1 - 1
src/views/predictEdb_manage/components/classifyDia.vue

@@ -70,7 +70,7 @@ export default {
 		getParentName(){
 			const arr=this.formData.parentArr||[]
 			let strArr=arr.reverse().map(item=>{
-				return item.classifyName
+				return this.currentLang==='en'?item.classifyNameEn:item.classifyName
 			})
 			
 			return strArr.join('/')

+ 2 - 2
src/views/predictEdb_manage/components/dynamicRingdiffer.vue

@@ -34,7 +34,7 @@
 						<el-option
 							v-for="item in searchOptions"
 							:key="item.EdbInfoId"
-							:label="item.EdbName"
+							:label="$parent.currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName"
 							:value="item.EdbInfoId"
 							:disabled="!item.HaveOperaAuth"
 						>
@@ -47,7 +47,7 @@
 										style="vertical-align:middle" 
 										v-if="!item.HaveOperaAuth"
 									/>
-									{{item.EdbName}}
+									{{ $parent.currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName}}
 								</div>
 							</edbDetailPopover>
 						</el-option>

+ 2 - 2
src/views/predictEdb_manage/components/edbDetail.vue

@@ -159,8 +159,8 @@ export default {
         refreshData(type=''){
             this.getDetail(type)
         },
-        changeEnOptions() {
-            this.$emit('openEnNameDia',this.edbData.EdbInfo)
+        changeLangOptions() {
+            this.$emit('openLangInfoDia',this.edbData.EdbInfo)
         },
 
         /* 关联图片 */

+ 25 - 20
src/views/predictEdb_manage/components/operationDialog.vue

@@ -341,7 +341,7 @@ export default {
 				},
 				{
 					label: /* '指标名称' */this.$t('Edb.Detail.e_name'),
-					key: 'EdbName',
+					key: this.$parent.currentLang==='en'?'EdbNameEn':'EdbName',
 				},
 				{
 					label: /* '频度' */ this.$t('Edb.Detail.e_fre'),
@@ -349,7 +349,7 @@ export default {
 				},
 				{
 					label: /* '单位' */this.$t('Edb.Detail.e_unit'),
-					key: 'Unit',
+					key: this.$parent.currentLang==='en'?'UnitEn':'Unit',
 				},
 				{
 					label: /* '起始时间' */this.$t('Edb.Detail.e_start_time'),
@@ -665,25 +665,28 @@ export default {
 				['季度','Q'],
 				['年度','Y'],
 			])
+			let edbName = this.$parent.currentLang==='en'?obj.EdbNameEn:obj.EdbName;
+			let unit = this.$parent.currentLang ==='en'?obj.UnitEn:obj.Unit;
+
 			const name_map = {
-				42: obj.EdbName,
-				32: `${obj.EdbName}同比`,
-				33: `${obj.EdbName}同差`,
-				39: `${obj.EdbName}/${this.formData.n_num}${tMap.get(obj.Frequency)}MA`,
-				45: `${obj.EdbName}/${obj.Frequency}升频`,
-				43: `${obj.EdbName}${this.formData.n_num}${obj.Frequency.slice(0,1)}环比`,
-				44: `${obj.EdbName}${this.formData.n_num}${obj.Frequency.slice(0,1)}环差`,
-				49: `${obj.EdbName}超季节性/${this.formData.n_num}年${this.formData.calendar_type==='公历'?'':'/'+this.formData.calendar_type}`,
-				55: `${obj.EdbName}年化`,
-				54: `${obj.EdbName}/${obj.Frequency}降频`,
-				64:  obj.EdbName,
-				65:  obj.EdbName,
-				66:  obj.EdbName,
+				42: edbName,
+				32: `${edbName}同比`,
+				33: `${edbName}同差`,
+				39: `${edbName}/${this.formData.n_num}${tMap.get(obj.Frequency)}MA`,
+				45: `${edbName}/${obj.Frequency}升频`,
+				43: `${edbName}${this.formData.n_num}${obj.Frequency.slice(0,1)}环比`,
+				44: `${edbName}${this.formData.n_num}${obj.Frequency.slice(0,1)}环差`,
+				49: `${edbName}超季节性/${this.formData.n_num}年${this.formData.calendar_type==='公历'?'':'/'+this.formData.calendar_type}`,
+				55: `${edbName}年化`,
+				54: `${edbName}/${obj.Frequency}降频`,
+				64:  edbName,
+				65:  edbName,
+				66:  edbName,
 			}
 			this.formData = {
 				targetName: name_map[this.type] || '',
 				frequency: this.type === 45 ? '日度' : this.type === 64 ? '季度': this.type === 65 ? '': obj.Frequency,
-				unit: [33,39,42,45,49].includes(this.type) ?  obj.Unit : '无',
+				unit: [33,39,42,45,49].includes(this.type) ?  unit : '无',
 				menu:'',
 				n_num: 1,
 				moveType: 1,
@@ -698,6 +701,8 @@ export default {
 		NchangeHandle() {
 			if(!this.select_target) return;
 			let obj = this.searchOptions.find(item => item.EdbInfoId === this.select_target);
+			let edbName = this.$parent.currentLang==='en'?obj.EdbNameEn:obj.EdbName;
+
 			const tMap=new Map([
 				['日度','D'],
 				['周度','W'],
@@ -707,10 +712,10 @@ export default {
 				['年度','Y'],
 			])
 			const name_map = {
-				43: `${obj.EdbName}${this.formData.n_num}${obj.Frequency.slice(0,1)}环比`,
-				44: `${obj.EdbName}${this.formData.n_num}${obj.Frequency.slice(0,1)}环差`,
-				49: `${obj.EdbName}超季节性/${this.formData.n_num}年${this.formData.calendar_type==='公历'?'':'/'+this.formData.calendar_type}`,
-				39: `${obj.EdbName}/${this.formData.n_num}${tMap.get(obj.Frequency)}MA`,
+				43: `${edbName}${this.formData.n_num}${obj.Frequency.slice(0,1)}环比`,
+				44: `${edbName}${this.formData.n_num}${obj.Frequency.slice(0,1)}环差`,
+				49: `${edbName}超季节性/${this.formData.n_num}年${this.formData.calendar_type==='公历'?'':'/'+this.formData.calendar_type}`,
+				39: `${edbName}/${this.formData.n_num}${tMap.get(obj.Frequency)}MA`,
 			}
 			this.formData.targetName = name_map[this.type] || '';
 		},

+ 2 - 2
src/views/predictEdb_manage/mixins/mixin.js

@@ -85,7 +85,7 @@ export default {
       //目录名称可以双击修改
       if(data.EdbInfoId || this.role !== 'admin' ) return
       this.$set(data,'isEdit',true)
-      this.new_label = data.ClassifyName;
+      this.new_label = this.currentLang==='en'?data.ClassifyNameEn:data.ClassifyName;
       this.$nextTick(() => {
         this.$refs.editVal.focus();
       });
@@ -96,7 +96,7 @@ export default {
         if(!this.new_label) return this.$message.warning('名称不能为空');
         this.$set(data,'isEdit',false)
   
-        this.new_label !== data.ClassifyName && preDictEdbInterface.classifyEdit({
+        preDictEdbInterface.classifyEdit({
           ClassifyId: data.ClassifyId,
           ClassifyName: this.new_label
         }).then(res => {

+ 155 - 112
src/views/predictEdb_manage/predictEdb.vue

@@ -14,12 +14,12 @@
 							type="primary" @click="addEdbHandle"><!-- 添加指标 -->{{$t('EtaBasePage.add_edb_btn')}}</el-button>
 						<el-button v-permission="permissionBtn.predictEdbPermission.edbPreData_calcuEdb"
 							type="primary" @click="addComputedHandler" style="margin-left:0;"><!-- 计算指标 -->{{$t('EtaBasePage.calculation_edb_btn')}}</el-button>
-						<change-lang 
+						<!-- <change-lang 
 							v-permission="permissionBtn.predictEdbPermission.edbPreData_switchEn"
 							:lang="currentLang" 
 							style="height: 32px;" 
 							@changeLang="changeLangHandle"
-						/>
+						/> -->
 				</div>
 				<div class="search-cont" v-loading="searchLoading">
 					<el-select
@@ -239,10 +239,9 @@
 									<el-button 
 										v-permission="permissionBtn.predictEdbPermission.edbPreData_enNameSetting"
 										type="text" 
-										@click="clickEdbNameHandle" 
-										v-if="currentLang==='ch'||!edb_nameEn"
+										@click="clickEdbNameHandle"
 									>
-										{{$t('Edb.detail_en_btn')}}<!-- 设置英文名称 -->
+										{{$t('Edb.detail_en_btn')}}<!-- 编辑信息 -->
 									</el-button>
 									<el-button 
 										v-permission="permissionBtn.predictEdbPermission.edbPreData_recalcu"
@@ -282,7 +281,7 @@
 							@updateTit="setNameBack"
 							@setCurrentClassify="setCurrentClassify"
 							@setOpera="({button,detail}) => { edbButton = button;predictEdbInfo=detail }"
-							@openEnNameDia="openEnNameDia"
+							@openLangInfoDia="openLangInfoDia"
 						/>
 					</div>
 
@@ -382,14 +381,14 @@
 			@successCallback="getTreeData"
 		/>
 
-		<!-- 输入英文指标弹窗 -->
+		<!-- 输入英文指标弹窗
 		<set-en-name-dia 
 			:isOpenDialog="setEnName" 
 			@cancel="setEnName=false" 
 			:formData="formItemArray" 
 			@updateEnName="updateEnName" 
 			cType="predictEbd" 
-		/>
+		/> -->
 
 		<!-- 运算指标弹窗 -->
 		<computedDialog
@@ -473,8 +472,8 @@
       :isOpenDialog.sync="isLookHistory"
       :edbId="lookEdbId"
     /> -->
-	<!-- 指数修匀弹窗 -->
-	<SmoothEdbDialog 
+		<!-- 指数修匀弹窗 -->
+		<SmoothEdbDialog 
 			:is-open-smooth="computed_type==='alpha'"
 			:computed-source="computed_source"
 			:operationForm="operationForm"
@@ -485,6 +484,15 @@
 			@lookHistory="id => {toHistoryPage(id,$route.matched);lookEdbId=id;}"
 		/>
 
+		<!-- 设置对应版本信息弹窗 -->
+		<setLangInfoDia
+			:isOpenDialog="isLangInfoDia"
+			:formData="formItemArray"
+			@cancel="isLangInfoDia=false" 
+			@updateLang="updateLang"
+			cType="ebd" 
+		/>
+
 	</div>
 </template>
 
@@ -509,6 +517,7 @@ import { formulaTip } from '@/views/dataEntry_manage/databaseComponents/util';
 import dataAssociateChart from '@/views/dataEntry_manage/databaseComponents/dataAssociateChart.vue'
 import dataAssociateComputeData from '@/views/dataEntry_manage/databaseComponents/dataAssociateComputeData.vue'
 import SmoothEdbDialog from '@/views/dataEntry_manage/databaseComponents/smoothEdbDialog.vue';
+import setLangInfoDia from '@/views/dataEntry_manage/components/setLangInfo.vue'
 
 export default {
 	name:'',
@@ -528,7 +537,8 @@ export default {
 		diffusionIndexDialog,
 		dataAssociateChart,
 		dataAssociateComputeData,
-		SmoothEdbDialog
+		SmoothEdbDialog,
+		setLangInfoDia
 	},
 	mixins:[ leftMixin ],
 	beforeRouteLeave (to, from, next) {
@@ -588,7 +598,7 @@ export default {
 			public_page: 1,
 			public_pages_size: 16,
 
-			currentLang:'ch', // ch(中文) en(英文)
+			// currentLang:'ch', // ch(中文) en(英文)
 			setEnName:false,
 			// 传入的formItem所需内容
 			formItemArray:[],
@@ -678,6 +688,9 @@ export default {
 			activeTab:'',
 
 			predictEdbInfo: {},
+
+			/* 修改对应版本信息弹窗  替换原有设置英文*/
+			isLangInfoDia: false
 		};
 	},
 	computed: {
@@ -703,6 +716,9 @@ export default {
 			this.isEdbBtnShow('edbPreData_recalcu')||
 			this.edbButton.DeleteButton&&this.isEdbBtnShow('edbPreData_del')||
 			this.isEdbBtnShow('edbPreData_copyData')
+		},
+		currentLang() {
+			return this.$store.state.lang
 		}
 	},
 	watch: {
@@ -831,7 +847,7 @@ export default {
 
 				this.treeData = Data.AllNodes || [];
 				this.opLevelOneClassify = Data.CanOpClassify;
-				this.currentLang = Data.Language === 'EN' ? 'en' : 'ch';
+				// this.currentLang = Data.Language === 'EN' ? 'en' : 'ch';
 				this.showData = true;
 				this.$nextTick(() => {
 					/* 新增完成后 处理树展开和选中 */
@@ -920,7 +936,7 @@ export default {
 		// 递归节点
 		getNodeParentData(data,arr){
 			if(data.level===0) return
-			arr.push({classifyName:data.data.ClassifyName,classifyId:data.data.ClassifyId})
+			arr.push({classifyName: this.currentLang==='en'?data.data.ClassifyNameEn:data.data.ClassifyName,classifyId:data.data.ClassifyId})
 			this.getNodeParentData(data.parent,arr)
 			return arr
 		},
@@ -938,19 +954,20 @@ export default {
 			this.classifyDia = true;
 		},
     /* 编辑节点 */
-    editNode(node, { ClassifyName,ClassifyId,Level,ParentId}) {
+    editNode(node, { ClassifyName,ClassifyNameEn,ClassifyId,Level,ParentId}) {
 
       this.dialog_title = '编辑';
-	  let arr=[]
-	  arr=this.getNodeParentData(node.parent,arr)
-      /* 编辑目录 */
-      this.classifyForm = {
-        classify_name: ClassifyName,
-        classify_id: ClassifyId,
-        Level:node.level-1,
-        ParentId:ParentId,
-        parentArr:arr,
-      };
+			let arr=[]
+			arr=this.getNodeParentData(node.parent,arr)
+
+				/* 编辑目录 */
+				this.classifyForm = {
+					classify_name: this.currentLang==='en'?ClassifyNameEn:ClassifyName,
+					classify_id: ClassifyId,
+					Level:node.level-1,
+					ParentId:ParentId,
+					parentArr:arr,
+				};
       this.classifyDia = true;
     },
 
@@ -961,20 +978,6 @@ export default {
 
 			const { DeleteStatus,TipsMsg } = Data;
 
-			// DeleteStatus === 1 
-			// ? this.$confirm('该分类下关联指标不可删除', '删除失败', {
-			// 	confirmButtonText: '知道了',
-			// 	showCancelButton: false,
-			// 	type: 'error',
-			// }) : DeleteStatus === 0 && !EdbInfoId
-			// ?  this.$confirm('确定删除当前分类吗?', '提示', {
-			// 	confirmButtonText: '确定',
-			// 	cancelButtonText: '取消',
-			// 	type: 'warning',
-			// }).then(() => {
-			// 	this.delApi(ClassifyId, EdbInfoId)
-			// }): null;
-
 			/**
 			 * 0 可删除
 			 * 1 关联指标
@@ -1184,7 +1187,7 @@ export default {
 		},
 
 		/* 计算指标回显 */
-		setComputedDialogForm({Source,CalculateList,CalculateFormula,EdbInfoId,EdbName,Unit,Frequency,ClassifyId,ClassifyList,MoveType,MoveFrequency,Calendar,CorrelationStr,EmptyType,MaxEmptyType},type='') {
+		setComputedDialogForm({Source,CalculateList,CalculateFormula,EdbInfoId,EdbName,EdbNameEn,Unit,UnitEn,Frequency,ClassifyId,ClassifyList,MoveType,MoveFrequency,Calendar,CorrelationStr,EmptyType,MaxEmptyType},type='') {
 			//找到指标的父级
 			const parentNodes = ClassifyList.length&&ClassifyList.map(item=>item.ClassifyId)
 			//指标运算 or 其他计算类型指标
@@ -1204,22 +1207,27 @@ export default {
 					edb_id:EdbInfoId,
 					formula: CalculateFormula,
 					menu: parentNodes,
-					targetName: EdbName,
-					unit: Unit,
+					targetName: this.currentLang==='en'?EdbNameEn:EdbName,
+					unit: this.currentLang==='en'?UnitEn:Unit,
 					frequency: Frequency,
 					emptyType: EmptyType,
 					maxEmptyType: MaxEmptyType,
 					view: type === 'view'
 				};
 			} else  {
-				if([47,48,50,56].includes(Source)){//拟合残差
-					this.operationForm={
-						edb_id:EdbInfoId,
-						targetName: EdbName,
+
+				let public_params = {
+						edb_id: EdbInfoId,
+						targetName: this.currentLang==='en'?EdbNameEn:EdbName,
 						frequency: Frequency,
-						unit: Unit,
+						unit: this.currentLang==='en'?UnitEn:Unit,
 						menu: parentNodes,
 						view: type === 'view',
+				}
+
+				if([47,48,50,56].includes(Source)){//拟合残差
+					this.operationForm={
+						...public_params,
 						source: Source,
 						date: CalculateFormula,
 						pre_edb: Source === 47 ? CalculateList.find(item => item.FromTag === 'A').FromEdbInfoId : '', //俺也不懂为什么这么定义都是江西老表的锅
@@ -1232,15 +1240,11 @@ export default {
 					return
 				}
 				this.operationForm = {
+					...public_params,
 					oldedb_id: CalculateList[0].FromEdbInfoId,
 					oldEdb_name: CalculateList[0].FromEdbName,
-					edb_id: EdbInfoId,
-					targetName: EdbName,
-					unit: Unit,
 					menu: parentNodes.reverse(),
-					frequency: Frequency,
 					formula: CalculateFormula || '',
-					view: type === 'view',
 					moveType: MoveType,
 					moveUnit: MoveFrequency,
 					moveVal: Source === 46 ? CalculateFormula : '',
@@ -1319,77 +1323,116 @@ export default {
 		},300),
 
 		/* 切换中英文 */
-		changeLangHandle: _.debounce(async function (lang){
-			this.search_txt = '';
-			this.currentLang = lang;
-			await dataBaseInterface.setUserLang({
-				ConfigCode: 'predict_edb_language',
-				ConfigValue: lang === 'en' ? 'EN' : 'CN'
-			})
-		},200),
+		// changeLangHandle: _.debounce(async function (lang){
+		// 	this.search_txt = '';
+		// 	this.currentLang = lang;
+		// 	await dataBaseInterface.setUserLang({
+		// 		ConfigCode: 'predict_edb_language',
+		// 		ConfigValue: lang === 'en' ? 'EN' : 'CN'
+		// 	})
+		// },200),
 
 		/* 编辑英文 */
-		openEnNameDia(info){
-			this.formItemArray=[{
-				label:/* '指标名称' */ this.$t('Edb.Detail.e_name'),
-				value:info.EdbName,
-				key:'EdbName',
-				notEdit:true
-			}]
-			// 中文单位有 才能编辑英文单位
-			if(info.Unit && info.Unit!='无'){
-				this.formItemArray.push({
-					label:this.$t('Edb.Detail.e_unit') /* '单位' */,
-					value:info.Unit,
-					key:'Unit',
-					notEdit:true
-				},
-				{
-					label:this.$t('Edb.Detail.e_en_name')/* '英文指标名称' */,
-					value:info.EdbNameEn,
-					key:'EdbNameEn',
-					placeholder: this.$t('Edb.InputHolderAll.input_common',{label:this.$t('Edb.Detail.e_en_name')}) /* '请输入英文指标名称' */
-				},
-				{
-					label:this.$t('Edb.Detail.e_en_unit') /* '英文单位' */,
-					value:info.UnitEn,
-					key:'UnitEn',
-					placeholder:this.$t('Edb.InputHolderAll.input_common',{label:this.$t('Edb.Detail.e_en_unit')})  /* '请输入英文单位' */
-				})
-			}else{
-				this.formItemArray.push({
-					label:this.$t('Edb.Detail.e_en_name') /* '英文指标名称' */,
-					value:info.EdbNameEn,
-					key:'EdbNameEn',
-					placeholder:this.$t('Edb.InputHolderAll.input_common',{label:this.$t('Edb.Detail.e_en_name')}) /* '请输入英文指标名称' */
-				})
-			}
+		// openEnNameDia(info){
+		// 	this.formItemArray=[{
+		// 		label:/* '指标名称' */ this.$t('Edb.Detail.e_name'),
+		// 		value:info.EdbName,
+		// 		key:'EdbName',
+		// 		notEdit:true
+		// 	}]
+		// 	// 中文单位有 才能编辑英文单位
+		// 	if(info.Unit && info.Unit!='无'){
+		// 		this.formItemArray.push({
+		// 			label:this.$t('Edb.Detail.e_unit') /* '单位' */,
+		// 			value:info.Unit,
+		// 			key:'Unit',
+		// 			notEdit:true
+		// 		},
+		// 		{
+		// 			label:this.$t('Edb.Detail.e_en_name')/* '英文指标名称' */,
+		// 			value:info.EdbNameEn,
+		// 			key:'EdbNameEn',
+		// 			placeholder: this.$t('Edb.InputHolderAll.input_common',{label:this.$t('Edb.Detail.e_en_name')}) /* '请输入英文指标名称' */
+		// 		},
+		// 		{
+		// 			label:this.$t('Edb.Detail.e_en_unit') /* '英文单位' */,
+		// 			value:info.UnitEn,
+		// 			key:'UnitEn',
+		// 			placeholder:this.$t('Edb.InputHolderAll.input_common',{label:this.$t('Edb.Detail.e_en_unit')})  /* '请输入英文单位' */
+		// 		})
+		// 	}else{
+		// 		this.formItemArray.push({
+		// 			label:this.$t('Edb.Detail.e_en_name') /* '英文指标名称' */,
+		// 			value:info.EdbNameEn,
+		// 			key:'EdbNameEn',
+		// 			placeholder:this.$t('Edb.InputHolderAll.input_common',{label:this.$t('Edb.Detail.e_en_name')}) /* '请输入英文指标名称' */
+		// 		})
+		// 	}
+
+		// 	this.setEnName = true
+		// },
+
+		// updateEnName(item){
+		// 	let params={
+		// 		EdbInfoId: Number(this.select_id),
+		// 		...item
+		// 	}
+		// 	dataBaseInterface.edbInfoEditEn(params).then(res=>{
+		// 		if(res.Ret ==200){
+		// 			this.$message({
+		// 				message:res.Msg,
+		// 				type:"success"
+		// 			})
+		// 			this.detail_show_chart ? this.$refs.detailComponentRef.getDetail() : this.$refs.detailComponentRef.getData();
+		// 			this.setEnName = false
+		// 			this.getTreeData({
+		// 				code: this.select_node,
+		// 				id: this.select_id
+		// 			});
+		// 		}
+		// 	})
+		// },
 
-			this.setEnName = true
+		clickEdbNameHandle() {
+			this.$refs.detailComponentRef.changeLangOptions();
 		},
 
-		clickEdbNameHandle() {
-			this.$refs.detailComponentRef.changeEnOptions();
+		openLangInfoDia(info) {
+				this.formItemArray=[
+					{
+						label:/* '指标名称' */ this.$t('Edb.Detail.e_name'),
+						value: this.currentLang==='en'?info.EdbNameEn:info.EdbName,
+						key:'EdbName',
+						placeholder:this.$t('Edb.InputHolderAll.input_common',{label:this.$t('Edb.Detail.e_name')})  /* '请输入指标名称' */
+					},
+					{
+						label:this.$t('Edb.Detail.e_unit') /* '单位' */,
+						value: this.currentLang==='en'?info.UnitEn:info.Unit,
+						key:'Unit',
+						placeholder:this.$t('Edb.InputHolderAll.input_common',{label:this.$t('Edb.Detail.e_unit')})  /* '请输入单位' */
+					}
+				]
+
+				this.isLangInfoDia = true
 		},
 
-		updateEnName(item){
+		updateLang(item) {
 			let params={
 				EdbInfoId: Number(this.select_id),
 				...item
 			}
-			dataBaseInterface.edbInfoEditEn(params).then(res=>{
-				if(res.Ret ==200){
-					this.$message({
-						message:res.Msg,
-						type:"success"
-					})
-					this.detail_show_chart ? this.$refs.detailComponentRef.getDetail() : this.$refs.detailComponentRef.getData();
-					this.setEnName = false
-					this.getTreeData({
-						code: this.select_node,
-						id: this.select_id
-					});
-				}
+			dataBaseInterface.setEdbLangInfo(params).then(res=>{
+				if(res.Ret !==200) return
+
+				this.$message.success(res.Msg)
+
+				this.detail_show_chart ? this.$refs.detailComponentRef.getDetail() : this.$refs.detailComponentRef.getData();
+				this.getTreeData({
+					code: this.select_node,
+					id: this.select_id
+				});
+
+				this.isLangInfoDia = false
 			})
 		},
 

+ 8 - 2
src/views/report_manage/mixins/reportMixin.js

@@ -47,6 +47,11 @@ export default {
             {key: "语义分析插入",label:this.$t('ReportManage.ReportList.semantic_analysis_tabs')},
           ]
       },
+      
+      //语言版本
+      currentLang() {
+        return this.$store.state.lang
+      }
   },
   data() {
     let that = this;
@@ -265,11 +270,12 @@ export default {
         return this.$message.warning("内部图表,不允许插入报告");
 
       const LINK_CHART_URL = this.$setting.dynamicOutLinks.ChartViewUrl+'/chartshow';
-      let fromPage = this.$route.path === "/reportEnEditor" ? "en" : "";
+      let lang = this.$route.path === "/reportEnEditor" ? "en" : this.currentLang;
+      
       this.$nextTick(() => {
         this.editor.html.insert(
           `<p style='text-align:left; margin-top:10px;'>
-						<iframe src='${LINK_CHART_URL}?code=${item.UniqueCode}&fromPage=${fromPage}' width='100%' height='350' style='border-width:0px; min-height:350px;'></iframe>
+						<iframe src='${LINK_CHART_URL}?code=${item.UniqueCode}&lang=${lang}' width='100%' height='350' style='border-width:0px; min-height:350px;'></iframe>
 					</p>`
         );
       });

+ 1 - 2
src/views/report_manage/reportEn/reportEditor.vue

@@ -231,8 +231,7 @@
 								class="liststy"
 							>
 								<div class="chartEn-mark" style="top: 0;left:0;" @click="setEnHandle(item)" v-if="item.HaveOperaAuth">
-									<span v-if="item.IsEnChart">En</span>
-									<i class="el-icon-edit" v-else style="font-size:18px"/>
+									<i class="el-icon-edit" style="font-size:18px"/>
 								</div>
 								<p class="color_primary">{{ chart_source===1 ? (item.ChartNameEn||item.ChartName) : item.ChartName }}</p>
 								<img

+ 9 - 9
src/views/sandbox_manage/sandFlowNew/components/addLInkDia.vue

@@ -22,7 +22,7 @@
             <el-option
               v-for="item in dataBaseOptions"
               :key="item.EdbInfoId"
-              :label="item.EdbName"
+              :label="currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName"
               :value="item.EdbInfoId"
               :disabled="!item.HaveOperaAuth"
             >
@@ -34,7 +34,7 @@
                   style="vertical-align:middle" 
                   v-if="!item.HaveOperaAuth"
                 />
-                {{item.EdbName}}
+                {{currentLang==='en'?(item.EdbNameEn||item.EdbName):item.EdbName}}
               </div>
             </el-option>
           </el-select>
@@ -54,7 +54,7 @@
             <el-option
               v-for="item in dataBaseOptions"
               :key="item.ChartInfoId"
-              :label="item.ChartName"
+              :label="currentLang==='en'?(item.ChartNameEn||item.ChartName):item.ChartName"
               :value="item.ChartInfoId"
               :disabled="!item.HaveOperaAuth"
             >
@@ -66,7 +66,7 @@
                   style="vertical-align:middle" 
                   v-if="!item.HaveOperaAuth"
                 />
-                {{item.ChartName}}
+                {{currentLang==='en'?(item.ChartNameEn||item.ChartName):item.ChartName}}
               </div>
             </el-option>
           </el-select>
@@ -84,13 +84,13 @@
                   <template slot-scope="scope">{{ scope.row.EdbCode }}</template>
                 </el-table-column>
                 <el-table-column :label="$t('Table.edb_name')" align="center" width="200">
-                  <template slot-scope="scope">{{ scope.row.EdbName }}</template>
+                  <template slot-scope="scope">{{ currentLang==='en'?(scope.row.EdbNameEn||scope.row.EdbName):scope.row.EdbName }}</template>
                 </el-table-column>
                 <el-table-column :label="$t('Table.frequency')" align="center" width="50">
                   <template slot-scope="scope">{{ scope.row.Frequency }}</template>
                 </el-table-column>
                 <el-table-column :label="$t('Table.unit')" align="center">
-                  <template slot-scope="scope">{{ scope.row.Unit }}</template>
+                  <template slot-scope="scope">{{ currentLang==='en'?(scope.row.UnitEn||scope.row.Unit):scope.row.Unit }}</template>
                 </el-table-column>
                 <el-table-column :label="$t('Table.start_time')" align="center" width="100">
                   <template slot-scope="scope">{{ scope.row.StartDate }}</template>
@@ -135,7 +135,7 @@
           </div>
           <div class="link-content-chartIndex" v-else-if="addLinkSearchParams.linkType==2 && this.chartInfo && this.chartInfo.ChartInfoId">
             <template v-if="chartInfo.HaveOperaAuth">
-              <div class="chart-name">{{ this.chartInfo.ChartName }}</div>
+              <div class="chart-name">{{ currentLang==='en'?(chartInfo.ChartNameEn||chartInfo.ChartName):chartInfo.ChartName }}</div>
               <Chart :options="options" :chartInfo="chartInfo" ref="chartRef" />
             </template>
 
@@ -219,7 +219,7 @@ import * as preDictEdbInterface from '@/api/modules/predictEdbApi.js';
               this.activeItem = {
                 RId:this.addLinkSearchParams.linkType+'-'+search_obj.EdbInfoId,
                 Id:search_obj.EdbInfoId,
-                Name:search_obj.EdbName,
+                Name:this.currentLang==='en'?(search_obj.EdbNameEn||search_obj.EdbName):search_obj.EdbName,
                 Type:this.addLinkSearchParams.linkType,
                 editing:false,
                 databaseType:search_obj.EdbInfoType, //0 普通指标 | 1 预测指标
@@ -242,7 +242,7 @@ import * as preDictEdbInterface from '@/api/modules/predictEdbApi.js';
               this.activeItem = {
                 RId:this.addLinkSearchParams.linkType+'-'+search_obj.ChartInfoId,
                 Id:search_obj.ChartInfoId,
-                Name:search_obj.ChartName,
+                Name: this.currentLang==='en'?(search_obj.ChartNameEn||search_obj.ChartName):search_obj.ChartName,
                 Type:this.addLinkSearchParams.linkType,
                 editing:false,
                 detailParams:{

+ 7 - 1
src/views/smartReport/components/ImportETAChart.vue

@@ -37,6 +37,12 @@ export default {
             loading:false
         }
     },
+    computed: {
+        //语言版本
+        currentLang() {
+            return this.$store.state.lang
+        }
+    },
     created() {
         this.getETAChartList()
     },
@@ -51,7 +57,7 @@ export default {
             const obj={
                 compId:3,
                 compType:'chart',
-                content:`${LINK_CHART_URL}?code=${item.UniqueCode}`
+                content:`${LINK_CHART_URL}?code=${item.UniqueCode}&lang=${this.currentLang}`
             }
             return JSON.stringify(obj)
         },

+ 9 - 1
src/views/system_manage/dataOperaAuth.vue

@@ -156,7 +156,11 @@
             align="center"
           >
             <template slot-scope="{row}">
-              <template v-if="item.key==='handle'">
+              <span v-if="item.key==='Name'">
+                {{ currentLang==='en' ? (row.NameEn||row.Name) : row.Name }}
+              </span>
+
+              <template v-else-if="item.key==='handle'">
                 <span 
                   class="editsty" 
                   @click="() => {currAuthSet===1 ? transferAuthHandle(row) : setAuthHandle(row)}"
@@ -348,6 +352,10 @@ export default {
 
     filterDuplicateChecked() {
       return Array.from(new Set(this.checkedList))
+    },
+
+    currentLang() {
+      return this.$store.state.lang
     }
   },
 

+ 1 - 1
src/views/system_manage/etaBaseConfig.vue

@@ -310,7 +310,7 @@
                 <div class="part" v-if="isShowPPT||isShowEnPPT" v-show="partType===3">
                     <el-radio-group v-model="pptLang" style="margin-bottom: 22px;">
                         <el-radio-button label="cn">{{$t('SystemManage.BaseConfig.ppt_zh')}}</el-radio-button>
-                        <el-radio-button label="en">{{$t('SystemManage.BaseConfig.ppt_en')}}</el-radio-button>
+                        <el-radio-button label="en" v-permission="permissionBtn.enPPTPermission.pptEn_visible">{{$t('SystemManage.BaseConfig.ppt_en')}}</el-radio-button>
                     </el-radio-group>
                     <div v-if="isShowPPT" v-show="pptLang === 'cn'" class="ppt-form-item-wrap">
                         <!-- <div class="inner-input-wrap">

+ 3 - 1
src/vuex/index.js

@@ -33,7 +33,9 @@ const state = {
   // 是否有 试用用户行为权限
   hasTrialUserPermisson:false,
   permissionRoute:[], //用于需要验证是否有某个菜单的权限
-  baseInfo:{}
+  baseInfo:{},
+
+  lang: localStorage.getItem('i18n') || 'zh',//全局语言版本 zh en
 };
 
 export default {

+ 4 - 0
src/vuex/mutations.js

@@ -81,6 +81,10 @@ const mutations = {
   SET_BASE_INFO(state,obj) {
     state.baseInfo={...state.baseInfo,...obj};
   },
+
+  SET_LANG(state,lang) {
+    state.lang = lang;
+  }
 };
 
 export default mutations;