Pārlūkot izejas kodu

预测指标页面

Karsa 1 gadu atpakaļ
vecāks
revīzija
3ccc509778

+ 8 - 0
src/lang/commonLang.js

@@ -197,6 +197,10 @@ export default {
     set_success_msg:{
       en:'Setting Successful',
       zh:'设置成功'
+    },
+    refresh_ing_msg: {
+      en: 'Updating data...',
+      zh: '刷新数据中...'
     }
   },
   Common: {
@@ -227,6 +231,10 @@ export default {
     to: {
       en: ' To ',
       zh:'至'
+    },
+    no_classify_msg: {
+      en: 'No Category',
+      zh: '暂无分类'
     }
   },
   Edb,

+ 33 - 0
src/lang/modules/EtaBase/commonLang.js

@@ -108,6 +108,23 @@ export default {
     zh:'计算中...',
     en:'Calculating...'
   },
+  time_len_set: {
+    zh:'时间长度设置',
+    en:'Recently N years'
+  },
+  recent_n_yaer: {
+    zh:'最近N年',
+    en:'Recently N years'
+  },
+  interval_set: {
+    zh:'区间设置',
+    en:'Set Time Period'
+  },
+  year_num: {
+    zh:'年数',
+    en:'Number of years'
+  },
+
 
   /* 指标相关字段 */
   Detail: {
@@ -195,6 +212,10 @@ export default {
       zh:'预测日期',
       en:'Predictive Date'
     },
+    predict_end_date: {
+      zh:'预测截止日期',
+      en:'Expiry Date of Prediction'
+    },
     predict_val: {
       zh:'预测值',
       en:'Predictive Value'
@@ -395,6 +416,14 @@ export default {
       zh: '日均值',
       en: 'Daily Mean'
     },
+    standard_differ: {
+      zh: '标准差',
+      en: 'Standard deviation'
+    },
+    percent: {
+      zh: '百分比',
+      en: 'Percentile'
+    }
   },
 
   /* 指标添加form提示 */
@@ -559,6 +588,10 @@ export default {
       zh: '请输入{label}',
       en: 'Please input {label}'
     },
+    input_number: {
+      zh: '请输入数字',
+      en: 'Please input number'
+    },
     select_edb_name:{
       zh: '请选择指标名称',
       en: 'Please select an indicator name'

+ 2 - 1
src/lang/modules/EtaChart/commonLang.js

@@ -1,5 +1,6 @@
 /* 图表相关的通用文字 
-  在最外层commonLang中用
+  在最外层commonLang中用 
+  $t('Chart.xxx')
 */
 
 export default {

+ 17 - 0
src/lang/modules/PredictEdb/En.js

@@ -0,0 +1,17 @@
+/* 预测指标模块 
+  $t('PredictEdbPage.xxx')
+*/
+export default {
+  /* 预测指标页面 */
+  PredictEdbPage: {
+    only_see_mine: 'View My Data List',
+    total_list_view: 'Total of {limit} Predictors',
+
+    /* 查看基础指标弹窗 */
+    view_rules: 'View Prediction Rules',
+    old_edb_id: 'Raw Indicator ID',
+    old_edb_name: 'Raw Indicator Name',
+    predict_end_date: 'Raw Indicator Name',
+    predict_rule: 'Prediction Rules',
+  }
+}

+ 38 - 0
src/lang/modules/PredictEdb/Zh.js

@@ -0,0 +1,38 @@
+/* 预测指标模块 
+  $t('PredictEdbPage.xxx')
+*/
+export default {
+  /* 预测指标页面 */
+  PredictEdbPage: {
+    only_see_mine: '只看我的',
+    total_list_view: '共{limit}个预测指标',
+    
+    /* 查看基础指标弹窗 */
+    view_rules: '查看预测规则',
+    old_edb_id: '原指标ID',
+    old_edb_name: '原指标名称',
+    predict_end_date: '预测截止日期',
+    predict_rule: '预测规则',
+  },
+
+  /* 添加指标页面 */
+  PredictEdbEditPage: {
+    label_rule: '规则',
+    rule_newset: '最新',
+    rule_fix: "固定值" ,
+    rule_onyear: "同比" ,
+    rule_differ: "同差" ,
+    rule_mom: "环比" ,
+    rule_mom_differ: "环差" ,
+    rule_move_average: "N期移动均值" ,
+    rule_linear: "N期段线性外推值" ,
+    rule_dynamic_differ: '动态环差' ,
+    rule_inter_end: "给定终值后插值" ,
+    rule_season: '季节性',
+    rule_yoy_move: '移动平均同比',
+    rule_yoy_growth: "同比增速差值" ,
+    rule_linear_reg: "一元线性拟合" ,
+    rule_n_year: 'N年均值',
+    rule_value_back: '年度倒退值',
+  }
+}

+ 0 - 0
src/lang/modules/PredictEdb/commonLang.js


+ 9 - 9
src/views/dataEntry_manage/components/DateChooseDia.vue

@@ -11,13 +11,13 @@
 		width="650px">
 			<div class="dialog-min">
 				<el-radio-group v-model="radioType" @change="changeType">
-					<el-radio :label="1" border>最近N年</el-radio>
-					<el-radio :label="2" border>区间设置</el-radio>
+					<el-radio :label="1" border>{{$t('Edb.recent_n_yaer')}}<!-- 最近N年 --></el-radio>
+					<el-radio :label="2" border>{{$t('Edb.interval_set')}}<!-- 区间设置 --></el-radio>
 				</el-radio-group>
 				<div class="date-cont">
 					<template v-if="radioType===1">
-						<span style="margin:0 20px;color: #000000;">年数</span>
-						<el-input v-model.number="count_year" placeholder="请输入数字"></el-input>
+						<span style="margin:0 20px;color: #000000;">{{$t('Edb.year_num')}}<!-- 年数 --></span>
+						<el-input v-model.number="count_year" :placeholder="$t('Edb.InputHolderAll.input_number')"></el-input>
 					</template>
 					<template v-else>
 						<el-date-picker
@@ -36,18 +36,18 @@
 							unlink-panels
 							value-type="format"
 							value-format="yyyy-MM-dd"
-							start-placeholder="开始日期"
-							end-placeholder="结束日期"
+							:start-placeholder="$t('EtaBasePage.ph_start')"
+							:end-placeholder="$t('EtaBasePage.ph_end')"
 							:picker-options="pickerOptions"
 						></el-date-picker>
-						<el-checkbox label="至今" :checked="dateType == 1" @change="changeDateType"
+						<el-checkbox :label="$t('EtaBasePage.ph_to_now')" :checked="dateType == 1" @change="changeDateType"
 						style="margin-left: 18px;"></el-checkbox>
 					</template>
 				</div>
 			</div>
 			<div class="dia-bot">
-				<el-button plain @click="cancelHandle" style="width: 120px;">取消</el-button>
-				<el-button type="primary" style="width: 120px;margin-left:30px" @click="saveHandle">保存</el-button>
+				<el-button plain @click="cancelHandle" style="width: 120px;"><!-- 取消 -->{{$t('Dialog.cancel_btn')}}</el-button>
+				<el-button type="primary" style="width: 120px;margin-left:30px" @click="saveHandle"><!-- 保存 -->{{$t('Dialog.confirm_save_btn')}}</el-button>
 			</div>
 		</el-dialog>
 </template>

+ 62 - 27
src/views/dataEntry_manage/databaseList.vue

@@ -232,37 +232,72 @@
 							</el-tab-pane>
 						</el-tabs>
 						<div class="edb-tool-icon edb-tool" style="align-items: center;">
-							<el-button v-if="isEdbBtnShow('update')"
-								type="text" @click="refreshTargetHandle" >{{$t('Edb.detail_refresh_btn')}}</el-button>
-							<el-button v-if="isEdbBtnShow('edit')"
-								type="text" :disabled="!(EdbData.Button.OpButton)"
-								@click="editNode({},EdbData)">{{$t('Edb.detail_edit_btn')}}</el-button>
+							<el-button 
+								v-if="isEdbBtnShow('update')"
+								type="text" 
+								@click="refreshTargetHandle" 
+							>{{$t('Edb.detail_refresh_btn')}}<!-- 刷新 --></el-button>
+							<el-button 
+								v-if="isEdbBtnShow('edit')"
+								type="text" 
+								:disabled="!(EdbData.Button.OpButton)"
+								@click="editNode({},EdbData)"
+							>{{$t('Edb.detail_edit_btn')}}<!-- 编辑 --></el-button>
 							<!-- 指保存指标的上下限,在走势图才显示 -->
-							<el-button v-if="activeTab==='Chart'&&isEdbBtnShow('saveEdb')"
-								type="text" @click.stop="saveEdbLimit">{{$t('Edb.detail_save_btn')}}</el-button>
-							<el-button v-if="EdbData.EdbType===2&&isEdbBtnShow('toSource')"
-								type="text" @click="toHistoryPage(selected_edbid,$route.matched);lookEdbId=selected_edbid">{{$t('Edb.detail_trace_btn')}}</el-button>
-							<el-popover v-if="showPopver"
+							<el-button 
+								v-if="activeTab==='Chart'&&isEdbBtnShow('saveEdb')"
+								type="text" 
+								@click.stop="saveEdbLimit"
+							>{{$t('Edb.detail_save_btn')}}<!-- 保存 --></el-button>
+							<el-button 
+								v-if="EdbData.EdbType===2&&isEdbBtnShow('toSource')"
+								type="text" 
+								@click="toHistoryPage(selected_edbid,$route.matched);lookEdbId=selected_edbid"
+							>{{$t('Edb.detail_trace_btn')}}<!-- 指标溯源 --></el-button>
+							<el-popover 
+								v-if="showPopver"
 								placement="bottom-end" 
 								trigger="hover"
 								popper-class="edb-tool-popover"
-								width="300" style="display: inline-block;">
+								width="300" style="display: inline-block;"
+							>
 								<div class="edb-tool-wrap">
-									<el-button v-if="isEdbBtnShow('setEn')"
-										type="text" @click="openEnNameDia">{{$t('Edb.detail_en_btn')}}</el-button>
-									<el-button v-if="EdbData.Button.InsertNewDataButton&&isEdbBtnShow('newValue')"
-										type="text" @click.stop="updateNewestDataHandle" >{{(EdbData.DataInsertConfig.Date)?$t('Edb.detail_edit_latest'):$t('Edb.detail_add_latest')}}</el-button>
-									<el-button v-if="EdbData.EdbType===2&&isEdbBtnShow('calculateAgain')"
-										type="text" @click.stop="reCalculateHandler" :loading="calculateLoading">{{$t('Edb.detail_recalculate_btn')}}</el-button>
-									<el-button v-if="EdbData.EdbType===1&&isEdbBtnShow('refreshAll')"
-										type="text" @click.stop="refreshBaseHandler" :loading="refreshLoading">{{$t('Edb.detail_refresh_all')}}</el-button>
-									<el-button v-if="isEdbBtnShow('copyData')"
-										type="text" @click="copyCode">{{$t('Edb.detail_copydata_btn')}}</el-button>
-									<el-button v-if="EdbData.Button.DeleteButton&&isEdbBtnShow('deleteEdb')"
-										type="text" @click="removeNode(_,EdbData)" style="color:#C54322;">{{$t('Edb.detail_del_btn')}}</el-button>
+									<el-button 
+										v-if="isEdbBtnShow('setEn')"
+										type="text" 
+										@click="openEnNameDia"
+									>{{$t('Edb.detail_en_btn')}}<!-- 设置英文名称 --></el-button>
+									<el-button 
+										v-if="EdbData.Button.InsertNewDataButton&&isEdbBtnShow('newValue')"
+										type="text" 
+										@click.stop="updateNewestDataHandle" 
+									>{{(EdbData.DataInsertConfig.Date)?$t('Edb.detail_edit_latest'):$t('Edb.detail_add_latest')}}<!-- 添加最新值 --></el-button>
+									<el-button 
+										v-if="EdbData.EdbType===2&&isEdbBtnShow('calculateAgain')"
+										type="text" 
+										@click.stop="reCalculateHandler" 
+										:loading="calculateLoading"
+									>{{$t('Edb.detail_recalculate_btn')}}<!-- 重新计算 --></el-button>
+									<el-button 
+										v-if="EdbData.EdbType===1&&isEdbBtnShow('refreshAll')"
+										type="text"
+										@click.stop="refreshBaseHandler" 
+										:loading="refreshLoading"
+									>{{$t('Edb.detail_refresh_all')}}<!-- 全部刷新 --></el-button>
+									<el-button 
+										v-if="isEdbBtnShow('copyData')"
+										type="text" 
+										@click="copyCode"
+									>{{$t('Edb.detail_copydata_btn')}}<!-- 复制数据 --></el-button>
+									<el-button 
+										v-if="EdbData.Button.DeleteButton&&isEdbBtnShow('deleteEdb')"
+										type="text" 
+										@click="removeNode(_,EdbData)" 
+										style="color:#C54322;"
+									>{{$t('Edb.detail_del_btn')}}<!-- 删除 --></el-button>
 								</div>
 								<div class="edb-btn" slot="reference">
-									<el-button type="text">{{$t('Edb.detail_more_btn')}}</el-button>
+									<el-button type="text">{{$t('Edb.detail_more_btn')}}<!-- 更多操作 --></el-button>
 									<i class="el-icon-more" style="font-size: 14px;transform: rotate(90deg);cursor: pointer;color: #3375e1;"/>
 								</div>
 							</el-popover>
@@ -1337,7 +1372,7 @@ export default {
 				this.loading = this.$loading({
 					lock: true,
 					target:'.detail',
-					text: this.$t('EtaBasePage.refresh_ing_msg'),
+					text: this.$t('Edb.MsgPrompt.refresh_ing_msg'),
 					spinner: 'el-icon-loading',
 					background: 'rgba(255, 255, 255, 0.8)'
 				});
@@ -1779,7 +1814,7 @@ export default {
 			this.loading = this.$loading({
 					lock: true,
 					target:'.detail',
-					text: this.$t('EtaBasePage.refresh_ing_msg'),
+					text: this.$t('Edb.MsgPrompt.refresh_ing_msg'),
 					spinner: 'el-icon-loading',
 					background: 'rgba(255, 255, 255, 0.8)'
 				});
@@ -2301,7 +2336,7 @@ export default {
 					position: relative;
 					height: 60px;
 					.el-tabs{
-						width:200px;
+						width:210px;
 						.el-tabs__header{
 							margin-bottom: 0;
 						}

+ 16 - 11
src/views/predictEdb_manage/components/chartInfo.vue

@@ -28,7 +28,7 @@
                             @click.native="changeYear(item)"
                             >{{ item.name }}</el-button>
                     </div>
-                    <el-button type="primary" plain size="mini" class="year-btn" slot="reference" style="margin-right:15px;background-color: #e6eefb;color:#0052D9;">时间段</el-button>
+                    <el-button type="primary" plain size="mini" class="year-btn" slot="reference" style="margin-right:15px;background-color: #e6eefb;color:#0052D9;">{{$t('Chart.time_interval')}}<!-- 时间段 --></el-button>
                 </el-popover>
                 <el-button 
                     type="primary" size="mini"
@@ -56,7 +56,8 @@
                 v-permission="permissionBtn.predictEdbPermission.edbPreData_switchSeason"
                 @click="chartTypeChange">
                 <i class="el-icon-sort" style="transform: rotate(90deg);"></i>
-                    切换{{chartInfo.ChartType==1?'季节性图':'曲线图'}}
+                    <!-- 切换{{chartInfo.ChartType==1?'季节性图':'曲线图'}} -->
+                    {{chartInfo.ChartType===1?$t('Edb.switch_season'):$t('Edb.switch_curve')}}
             </el-button>
         </div>
         <div class="chartWrapper">
@@ -72,8 +73,8 @@
                 v-if="chartInfo.ChartType === 2"
                 @change="seasonTypeChange2"
             >
-                <el-radio-button label="公历" />
-                <el-radio-button label="农历" />
+                <el-radio-button label="公历">{{$t('Chart.calendar_gre')}}</el-radio-button>
+				<el-radio-button label="农历">{{$t('Chart.calendar_lunar')}}</el-radio-button>
             </el-radio-group>
 
             <div class="range-cont left">
@@ -134,17 +135,21 @@ export default {
         //     this.changeLanguage(n)
         // }
     },
-    data() {
-        return {
-            year_select: 10, //年份选择项
-            year_select_season: 20, //季节性年份选择项 默认最近五年
-            yearSelector: [
+    computed: {
+        yearSelector() {
+            return [
                 {
-                    name: '全部',
+                    name: /* '全部' */this.$t('Chart.time_all'),
                     value: 10,
                 },
                 ...yearSelector,
-            ],
+            ]
+        } 
+    },
+    data() {
+        return {
+            year_select: 10, //年份选择项
+            year_select_season: 20, //季节性年份选择项 默认最近五年
             select_date: [], // 自定义时间段项
             season_year:[],//季节图日期选择
 

+ 39 - 32
src/views/predictEdb_manage/components/childData.vue

@@ -80,7 +80,7 @@
           ><span :class="['value-style',{'predict-act': item.isPredic}]">{{item.Value}}</span></span
         >
       </li>
-      <li class="nodata value-item" v-if="!dataList.length">暂无数据</li>
+      <li class="nodata value-item" v-if="!dataList.length"><!-- 暂无数据 -->{{$t('Table.prompt_slogan')}}</li>
     </ul>
   </div>
 </template>
@@ -103,57 +103,64 @@ export default {
         userid: this.tableData[0].SysUserId})
     }
   },
-  data() {
-    return {
-      tableColums: [
-        {
-            label: '指标ID',
-            key: 'EdbCode',
-            widthsty: '280px'
-        },
+  computed: {
+    /*表格列 */
+		tableColums(){
+			return [
+				{
+					label: this.$t('Edb.Detail.e_id'),
+					key: 'EdbCode',
+					 widthsty: '280px'
+				},
+				{
+					label: this.$t('Edb.Detail.e_name'),
+					key: 'EdbName',
+					minwidthsty: '200px'
+				},
+				{
+					label: this.$t('Edb.Detail.e_fre'),
+					key: 'Frequency',
+					 widthsty: '100px'
+				},
+				{
+					label: this.$t('Edb.Detail.e_unit'),
+					key: 'Unit',
+					widthsty: '140px'
+				},
+			]
+		},
+		tableColumsTwo() {
+			return [
         {
-            label: '指标名称',
-            key: 'EdbName',
-            minwidthsty: '200px'
-        },
-        {
-            label: '频度',
-            key: 'Frequency',
-            widthsty: '100px'
-        },
-        {
-            label: '单位',
-            key: 'Unit',
-            widthsty: '140px'
-        },
-      ],
-      tableColumsTwo:[
-        {
-            label: '指标目录',
+            label: this.$t('Edb.Detail.e_menu'),
             key: 'Menu',
             widthsty: '280px',
         },
         {
-            label: '起始时间',
+            label: this.$t('Edb.Detail.e_start_time'),
             key: 'StartDate',
             minwidthsty: '100px',
         },
         {
-            label: '预测截止日期',
+            label: this.$t('Edb.Detail.predict_end_date'),
             key: 'EndDate',
             minwidthsty: '100px'
         },
         {
-            label: '更新时间',
+            label: this.$t('Edb.Detail.e_update_time'),
             key: 'ModifyTime',
             minminwidthsty: '120px',
         },
         {
-            label: '添加人',
+            label: this.$t('Edb.creater'),
             key: 'SysUserRealName',
             widthsty: '140px',
         }
-      ],
+      ]
+		},
+  },
+  data() {
+    return {
       showData: false,
       tableData: [],
       page_no: 1,

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

@@ -4,38 +4,38 @@
 		:visible.sync="isOpenDialog"
 		:close-on-click-modal="false"
 		:modal-append-to-body='false'
-		:title="title"
+		:title="title==='添加' ? $t('Table.add_btn') : $t('Table.edit_btn')"
 		@close="cancelHandle"
 		custom-class="dialog"
 		center
-		width="560px"
+		width="650px"
 		v-dialogDrag>
 			<div class="dialog-main">
 				<el-form
 				ref="diaForm"
 				label-position="left"
 				hide-required-asterisk
-				label-width="80px"
+				label-width="110px"
 				:model="formData"
 				:rules="formRules">
 				
-				<el-form-item label="上级目录" v-if="formData.Level>0">
+				<el-form-item :label="$t('EtaBasePage.parent_menu')" v-if="formData.Level>0">
 					<el-tooltip class="item" effect="dark" :content="getParentName" placement="top">
       					<span class="parentStr">{{getParentName}}</span>
     				</el-tooltip>
 				</el-form-item>
 
-				<el-form-item label="目录名称" prop="classify_name">
+				<el-form-item :label="$t('EtaBasePage.menu_name')"  prop="classify_name">
 					<el-input
 					v-model="formData.classify_name"
 					style="width: 80%"
-					placeholder="必填项"></el-input>
+					:placeholder="$t('Dialog.require_vaild')"></el-input>
 				</el-form-item>
 				</el-form>
 			</div>
 			<div class="dia-bot">
-				<el-button type="primary" style="margin-right:20px" @click="saveHandle">保存</el-button>
-				<el-button type="primary" plain @click="cancelHandle">取消</el-button>
+				<el-button type="primary" style="margin-right:20px" @click="saveHandle"><!-- 保存 -->{{$t('Dialog.confirm_save_btn')}}</el-button>
+				<el-button type="primary" plain @click="cancelHandle"><!-- 取消 -->{{$t('Dialog.cancel_btn')}}</el-button>
 			</div>
 		</el-dialog>
 	</div>
@@ -81,7 +81,7 @@ export default {
 			formData: {},
       formRules: {
         classify_name:[
-          { required: true, message: '目录名称不能为空', trigger: 'blur' },
+          { required: true, message: this.$t('EtaBasePage.input_menu_msg'), trigger: 'blur' },
         ]
       },
 

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

@@ -9,15 +9,15 @@
         />
         <div class="info" style="display: flex;justify-content: flex-end;">
           <!--   <span>数据来源:{{edbData.EdbInfo.SourceName}}</span> -->
-            <span>添加人:{{edbData.EdbInfo.SysUserRealName}}</span>
+            <span><!-- 添加人 -->{{$t('Edb.creater')}}:{{edbData.EdbInfo.SysUserRealName}}</span>
         </div>
         <ul
             class="value-ul"
             v-show="showData&&dataList.length"
             >
             <li class="value-item" style="background-color: #EBEFF6;">
-                <span style="width:240px">日期(频度:{{EdbData.Frequency}})</span>
-                <span style="flex:1;">值</span>
+                <span style="width:240px">{{$t('Edb.Detail.e_date')}}({{$t('Edb.Detail.e_fre')}}:{{EdbData.Frequency}})</span>
+                <span style="flex:1;">{{$t('Edb.Detail.e_value')}}<!--  --></span>
             </li>
             <li
                 class="value-item"
@@ -38,7 +38,7 @@
                 </span
                 >
             </li>
-            <li class="nodata value-item" v-if="!dataList.length">暂无数据</li>
+            <li class="nodata value-item" v-if="!dataList.length"><!-- 暂无数据 -->{{$t('Table.prompt_slogan')}}</li>
         </ul>
 
     </div>

+ 73 - 77
src/views/predictEdb_manage/components/operationDialog.vue

@@ -15,7 +15,7 @@
 				:src="$icons.computed"
 				style="color: #fff; width: 16px; height: 16px; margin-right: 5px"
 			/>
-			<span style="font-size: 16px">{{ (operationForm.edb_id ? (operationForm.view ? '查看' : '编辑') : '') + titleMap.get(type) }}</span>
+			<span style="font-size: 16px">{{ (operationForm.edb_id ? (operationForm.view ? $t('Dialog.title_prefix_view') : $t('Dialog.title_prefix_edit')) : '') + titleMap.get(type) }}</span>
 		</div>
 		<div class="dialog-main">
 			
@@ -25,14 +25,14 @@
 			</ul>
 
 			<div class="min-top">
-				<label >选择指标:</label>
+				<label ><!-- 选择指标 -->{{$t('Edb.choose_edb')}}:</label>
 
 				<el-select
 					v-model="select_target"
 					v-loadMore="searchLoad"
 					:filterable="!select_target"
 					clearable
-					placeholder="请输入指标名称"
+					:placeholder="$t('Edb.InputHolderAll.input_name')"
 					style="width: 85%"
 					remote
 					:remote-method="getTarget"
@@ -53,7 +53,7 @@
 				<i class="el-icon-tickets" style="color:#409EFF;font-size:18px" @click="$emit('lookHistory',select_target)" v-if="select_target"/>
 			</div>
 			<div class="middle">
-				<label>已选指标:</label>
+				<label><!-- 已选指标: -->{{ $t('Edb.have_choose_edb') }}:</label>
 				<el-table
 				:data="tableData"
 				style="box-shadow: 0px 3px 6px rgba(155, 170, 219, 0.2);margin-top:10px;"
@@ -73,15 +73,15 @@
 					<el-table-column
 						width="110"
 						align="center"
-						label="操作"
+						:label="$t('Table.column_operations')"
 						v-if="!operationForm.view"
 					>
 						<template slot-scope="scope">
-							<span class="deletesty" @click="delTarget">删除</span>
+							<span class="deletesty" @click="delTarget"><!-- 删除 -->{{$t('Table.delete_btn')}}</span>
 						</template>
 					</el-table-column>
 					<div slot="empty" style="padding:20px 0 30px;">
-						<tableNoData text="暂无指标" size="mini"/>
+						<tableNoData :text="$t('Table.no_edb_msg')" size="mini"/>
 					</div>
 				</el-table>
 				<ul 
@@ -110,12 +110,12 @@
 						ref="form"
 						label-position="right"
 						inline
-						label-width="80px"
+						label-width="120px"
 						:model="formData"
 						:rules="formRules"
 						:disabled="operationForm.view"
 					>
-						<el-form-item label="移动方式" style="display: block;" v-if="type === 46" prop="moveVal">
+						<el-form-item :label="$t('EtaBasePage.label_move_way')" style="display: block;" v-if="type === 46" prop="moveVal">
 							<el-select
 								v-model="formData.moveType"
 								style="width: 100px"
@@ -156,34 +156,22 @@
 							</el-select>
 						</el-form-item>
 
-						<el-form-item label="指标名称" prop="targetName">
+						<el-form-item :label="$t('Edb.Detail.e_name')" prop="targetName">
 							<el-input
 								v-model="formData.targetName"
 								style="width: 340px"
-								placeholder="请输入指标名称"
+								:placeholder="$t('Edb.InputHolderAll.input_name')"
 							/>
 						</el-form-item>
-						<el-form-item label="单位" prop="unit">
+						<el-form-item :label="$t('Edb.Detail.e_unit')" prop="unit">
 							<selectUnit 
 								v-model="formData.unit" 
 								style="width: 340px" 
 								:disabled="!operationForm.edb_id&&[32,33].includes(type)"
 							/>
 						</el-form-item>
-						<el-form-item label="指标目录" prop="menu">
-							<!-- <el-select
-								v-model="formData.menu"
-								placeholder="请选择分类"
-								style="width: 340px"
-								clearable
-							>
-								<el-option
-									v-for="item in options"
-									:key="item.ClassifyId"
-									:label="item.ClassifyName"
-									:value="item.ClassifyId"
-								/>
-							</el-select> -->
+						<el-form-item :label="$t('Edb.Detail.e_menu')" prop="menu">
+
 							<el-cascader
 								v-model="formData.menu"
 								:options="options"
@@ -194,13 +182,13 @@
 									checkStrictly: true
 								}"
 								style="width: 90%"
-								placeholder="请选择所属分类"
+								:placeholder="$t('Edb.InputHolderAll.input_menu')"
 							/>
 						</el-form-item>
-						<el-form-item label="频度" prop="frequency">
+						<el-form-item :label="$t('Edb.Detail.e_fre')" prop="frequency">
 							<el-select
 								v-model="formData.frequency"
-								placeholder="请选择频度"
+								:placeholder="$t('Edb.InputHolderAll.input_fre')"
 								style="width: 340px"
 								clearable
 								:disabled="[42,45,64,66].includes(type)||(!operationForm.edb_id&&[32,33].includes(type))"
@@ -214,16 +202,16 @@
 								</el-option>
 							</el-select>
 						</el-form-item>
-						<el-form-item label="N等于" prop="n_num" v-if="[39,43,44,49].includes(type)">
+						<el-form-item :label="$t('EtaBasePage.label_n_val')" prop="n_num" v-if="[39,43,44,49].includes(type)">
 							<el-input
 								v-model="formData.n_num"
 								style="width: 340px"
-								placeholder="请输入N数值"
+								:placeholder="$t('Edb.InputHolderAll.input_n_val')"
 								type="number"
 								@change="NchangeHandle"
 							/>
 						</el-form-item>
-						<el-form-item label="日历" prop="calendar_type" v-if="type===49">
+						<el-form-item :label="$t('EtaBasePage.label_calendar')"  prop="calendar_type" v-if="type===49">
 							<el-select
 								v-model="formData.calendar_type"
 								placeholder="请选择日历"
@@ -239,19 +227,19 @@
 								</el-option>
 							</el-select>
 						</el-form-item>
-						<el-form-item label="数据取值" prop="value_type" v-if="type===54">
+						<el-form-item :label="$t('EtaBasePage.label_val_type')"  prop="value_type" v-if="type===54">
 							<el-select
 								v-model="formData.value_type"
 								placeholder="请选择数据取值类型"
 								style="width: 340px"
 							>
-								<el-option key="期末值" label="期末值" value="期末值"/>
-								<el-option key="平均值" label="平均值" value="平均值"/>
+								<el-option :label="$t('EtaBasePage.val_type_end')" value="期末值"/>
+								<el-option :label="$t('EtaBasePage.val_type_average')" value="平均值"/>
 							</el-select>
 						</el-form-item>
 
 						<!-- 通过统计特征保存的指标 -->
-						<el-form-item label="数据来源" v-if="[69,70].includes(type)" style="width:50%">
+						<el-form-item :label="$t('Edb.Detail.source')" v-if="[69,70].includes(type)" style="width:50%">
 							<span>{{type===69?'标准差':'百分比'}}</span>
 						</el-form-item>
 					</el-form>
@@ -264,9 +252,9 @@
 				style="margin-right: 20px"
 				@click="saveHandle"
 				:loading="loading"
-				>{{loading ? '计算中...' : operationForm.edb_id ? '保存' : saveBtnMap.get(type)}}</el-button
+				>{{loading ? $t('Edb.calculate_ing') : operationForm.edb_id ? $t('Dialog.confirm_save_btn') : saveBtnMap.get(type)}}</el-button
 			>
-			<el-button type="primary" plain @click="cancelHandle('cancel')">取消</el-button>
+			<el-button type="primary" plain @click="cancelHandle('cancel')"><!-- 取消 -->{{$t('Dialog.cancel_btn')}}</el-button>
 		</div>
 		<el-popover
 			placement="top-start"
@@ -274,7 +262,7 @@
 			trigger="click"
 			v-show="$parent.tips.get(type)">
 			<p style="padding:30px;line-height:25px;" v-html="$parent.tips.get(type)"/>
-			<span slot="reference" class="tip-label">公式说明</span>
+			<span slot="reference" class="tip-label"><!-- 公式说明 -->{{$t('Edb.formula_instru')}}</span>
 		</el-popover>
 	</el-dialog>
 </template>
@@ -327,68 +315,78 @@ export default {
 			}
 
 			this.sourceList = [42,64].includes(this.type)
-				? [{ label: '累计值转月值',key: 42 },{ label: '累计值转季值',key: 64 }]
+				? [{ label: /* '累计值转月值' */this.$t('Edb.CalculatesAll.to_month'),key: 42 },{ label: /* '累计值转季值' */this.$t('Edb.CalculatesAll.to_quarter'),key: 64 }]
 				: [65,66].includes(this.type)
-				? [{ label: '累计值',key: 65 },{ label: '年初至今累计值',key: 66 }]
+				? [{ label: /* '累计值' */this.$t('Edb.CalculatesAll.cumulate'),key: 65 },{ label: /* '年初至今累计值' */this.$t('Edb.CalculatesAll.cumulate_oneyear'),key: 66 }]
 				: []
 		}
 	},
-	data () {
-		return {
-			select_target:'',
-			searchOptions:[],//指标列表
-			haveMore: true,
-			dataList:[],
-			page_no:1,
-			tableColums:[
-					{
-					label: '指标ID',
+	computed: {
+		tableColums(){
+			return [
+				{
+					label: /* '指标ID' */this.$t('Edb.Detail.e_id'),
 					key: 'EdbCode',
 				},
 				{
-					label: '指标名称',
+					label: /* '指标名称' */this.$t('Edb.Detail.e_name'),
 					key: 'EdbName',
 				},
 				{
-					label: '频度',
+					label: /* '频度' */ this.$t('Edb.Detail.e_fre'),
 					key: 'Frequency',
 				},
 				{
-					label: '单位',
+					label: /* '单位' */this.$t('Edb.Detail.e_unit'),
 					key: 'Unit',
 				},
 				{
-					label: '起始时间',
+					label: /* '起始时间' */this.$t('Edb.Detail.e_start_time'),
 					key: 'StartDate',
 					minwidthsty: '100px'
 				},
 				{
-					label: '更新时间',
+					label: /* '更新时间' */this.$t('Edb.Detail.e_update_time'),
 					key: 'ModifyTime',
 					minwidthsty: '110px'
 				},
 				{
-					label: '来源',
+					label: /* '来源' */this.$t('Edb.Detail.source'),
 					key: 'SourceName',
 				},
-			],
+			]
+		},
+		formRules(){
+			return formRules
+		},
+		unitArr() {
+			return unitArr
+		},
+	},
+	data () {
+		return {
+			select_target:'',
+			searchOptions:[],//指标列表
+			haveMore: true,
+			dataList:[],
+			page_no:1,
 			titleMap: new Map([
-				[42,'累计值转月/季值'],
-				[32,'同比值'],
-				[33,'同差值'],
-				[39,'N数值移动平均计算'],
-				[43,'N数值环比值'],
-				[44,'N数值环差值'],
-				[45,'升频'],
-				[46,'时间移位'],
-				[49,'超季节性'],
-				[55,'年化'],
-				[54,'降频'],
-				[64,'累计值转月/季值'],
-				[65,'累计值'],
-				[66,'累计值'],
-				[69,'标准差'],
-				[70,'百分比'],
+				[42,this.$t('Edb.CalculatesAll.to_month_quarter')],/* '累计值转月/季值' */
+				[32,this.$t('Edb.CalculatesAll.on_year')],/* '同比值' */
+				[33,this.$t('Edb.CalculatesAll.differ')],/* '同差值' */
+				[39,this.$t('Edb.CalculatesAll.n_move_average')],/* 'N数值移动平均计算' */
+				[43,this.$t('Edb.CalculatesAll.n_rate')],/* 'N数值环比值' */
+				[44,this.$t('Edb.CalculatesAll.n_differ')],/* 'N数值环差值'  */
+				[45,this.$t('Edb.CalculatesAll.up_conver')],/* 升频 */
+				[46,this.$t('Edb.CalculatesAll.time_move')],/* '时间移位' */
+				[49,this.$t('Edb.CalculatesAll.super_season')],/* '超季节性'  */
+				[55,this.$t('Edb.CalculatesAll.annual')],/* '年化'  */
+				[54,this.$t('Edb.CalculatesAll.down_conver')],/* '降频' */
+				[64,this.$t('Edb.CalculatesAll.to_month_quarter')],/* '累计值转月/季值' */
+				[65,this.$t('Edb.CalculatesAll.cumulate')],/* '累计值' */
+				[66,this.$t('Edb.CalculatesAll.cumulate')],/* '累计值' */
+				[69,this.$t('Edb.CalculatesAll.standard_differ')],/* 标准差 */
+				[70,this.$t('Edb.CalculatesAll.percent')],/* 百分比 */
 			]),//标题
 			saveBtnMap: new Map([
 				[42,'转月值计算'],
@@ -418,8 +416,6 @@ export default {
 				calendar_type: '公历',
 				value_type: '期末值'
 			},
-			formRules,
-			unitArr,
 			options: [],
 			frequencyArr: ['日度', '周度','旬度', '月度', '季度', '年度'],
 			fre_options: ['天','周','月','季','年'],
@@ -625,7 +621,7 @@ export default {
 					this.loading = false;
 					if(res.Ret !== 200) return
 
-					this.$message.success(this.operationForm.edb_id ? '编辑成功' : '新增成功');
+					this.$message.success(res.Msg);
 					this.operationForm.edb_id ? this.$emit('addCallBack','edit') : this.$emit('addCallBack','add',{ 
 						code:res.Data.UniqueCode,
 						id:res.Data.EdbInfoId,

+ 4 - 4
src/views/predictEdb_manage/components/rulesDetailDia.vue

@@ -3,15 +3,15 @@
 		:visible.sync="isOpenDialog"
 		:close-on-click-modal="false"
 		:modal-append-to-body='false'
-    title="查看预测规则"
+    :title="$t('PredictEdbPage.view_rules')"
 		@close="cancelHandle"
 		custom-class="rule-dialog"
 		center
 		width="750px"
 		v-dialogDrag>
       <div class="top">
-        <span>原指标ID:{{fromEdbInfo.FromEdbCode}}</span>
-        <span>原指标名称:{{fromEdbInfo.FromEdbName}}</span>
+        <span><!-- 原指标ID -->{{$t('PredictEdbPage.old_edb_id')}}:{{fromEdbInfo.FromEdbCode}}</span>
+        <span><!-- 原指标名称 -->{{$t('PredictEdbPage.old_edb_name')}}:{{fromEdbInfo.FromEdbName}}</span>
       </div>
       <el-collapse v-model="activeNames" class="rules-ul">
           <el-collapse-item
@@ -20,7 +20,7 @@
             :name="index"
           >
             <template slot="title">
-              <span class="text_oneLine" style="font-size: 16px;">规则{{ index + 1 }}({{predictTypeMap[item.predict_type]}})</span>
+              <span class="text_oneLine" style="font-size: 16px;">{{$t('PredictEdbEditPage.label_rule')}}{{ index + 1 }}({{predictTypeMap[item.predict_type]}})</span>
             </template>
             <div class="wrap">
               <div class="item">

+ 106 - 95
src/views/predictEdb_manage/predictEdb.vue

@@ -11,11 +11,11 @@
       <div class="main-left left" id="left" v-show="!isSlideLeft">
 				<div class="datasheet_top">
 						<el-button v-permission="permissionBtn.predictEdbPermission.edbPreData_addEdb"
-							type="primary" @click="addEdbHandle">添加指标</el-button>
+							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-right:10px;">计算指标</el-button>
-						<change-lang v-permission="permissionBtn.predictEdbPermission.edbPreData_switchEn"
-							:lang="currentLang" style="height: 32px;" @changeLang="changeLangHandle"/>
+							type="primary" @click="addComputedHandler" style="margin-right:10px;"><!-- 计算指标 -->{{$t('EtaBasePage.calculation_edb_btn')}}</el-button>
+						<!-- <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
@@ -24,7 +24,7 @@
 						:filterable="!search_txt"
 						remote
 						clearable
-						placeholder="指标名称"
+						:placeholder="$t('Edb.InputHolderAll.input_name')"
 						style="width: 100%"
 						:remote-method="searchHandle"
 						@focus="searchHandle('')"
@@ -41,9 +41,9 @@
 					</el-select>
 				</div>
         <div style="margin:20px 0;padding:0 20px;display:flex;justify-content:space-between">
-					<span>目录</span>
+					<span><!-- 目录 -->{{$t('Common.category')}}</span>
 					<el-checkbox v-model="isOnlyMe" v-permission="permissionBtn.predictEdbPermission.edbPreData_isOnlyMine"
-						@change="onlyMeHandler">只看我的</el-checkbox>
+						@change="onlyMeHandler"><!-- 只看我的 -->{{$t('PredictEdbPage.only_see_mine')}}</el-checkbox>
 				</div>
 				<div class="tree-cont">
 					<div class="target_tree">
@@ -59,7 +59,7 @@
 						:draggable="isEdbBtnShow('edbPreData_classifyOpt_move')"
 						:expand-on-click-node="false"
 						check-strictly
-						empty-text="暂无分类"
+						:empty-text="$t('Common.no_classify_msg')"
 						lazy
 						:load="getLazyTreeData"
 						@node-expand="handleNodeExpand"
@@ -158,7 +158,7 @@
 							alt=""
 							style="width: 16px; height: 16px; margin-right: 10px"
 						/>
-						<span>添加一级目录</span>
+						<span><!-- 添加一级目录 -->{{$t('EtaBasePage.add_first_menu_btn')}}</span>
 					</div>
 				</div>
 				<span
@@ -180,39 +180,68 @@
 				<div class="edb-detail-wrapper main-min-width" v-if="select_id&&!showAssociateChart&&!showAssociateComputeData">
 					<div class="detail-header">
 						<el-tabs v-model="activeTab" @tab-click="changeShowType">
-							<el-tab-pane label="走势图" name="Chart">
+							<el-tab-pane :label="$t('Edb.trend_chart_tab')" name="Chart">
 							</el-tab-pane>
-							<el-tab-pane label="数据详情" name="Data">
+							<el-tab-pane :label="$t('Edb.data_detail_tab')" name="Data">
 							</el-tab-pane>
 						</el-tabs>
 						<div class="edb-tool-icon edb-tool" style="align-items: center;">
-							<el-button v-permission="permissionBtn.predictEdbPermission.edbPreData_update"
-									type="text" @click="updateEdbPartHandle">刷新</el-button>
-							<el-button type="text" @click="editEdbHandle('')" 
-									v-if="edbButton.OpButton&&isEdbBtnShow('edbPreData_edit')">编辑</el-button>
-							<el-button type="text" @click="saveEdbHandle" 
-									v-if="detail_show_chart&&isEdbBtnShow('edbPreData_save')">保存</el-button>
-							<el-button v-permission="permissionBtn.predictEdbPermission.edbPreData_edbSource"
-								type="text" @click="toHistoryPage(select_id,$route.matched);lookEdbId=select_id">指标溯源</el-button>
-							<el-popover v-if="showPopover"
+							<el-button 
+								v-permission="permissionBtn.predictEdbPermission.edbPreData_update"
+								type="text" 
+								@click="updateEdbPartHandle"
+							><!-- 刷新 -->{{$t('Edb.detail_refresh_btn')}}</el-button>
+							<el-button 
+								type="text" 
+								@click="editEdbHandle('')" 
+								v-if="edbButton.OpButton&&isEdbBtnShow('edbPreData_edit')"
+							><!-- 编辑 -->{{$t('Edb.detail_edit_btn')}}</el-button>
+							<el-button 
+								type="text" 
+								@click="saveEdbHandle" 
+								v-if="detail_show_chart&&isEdbBtnShow('edbPreData_save')"
+							><!-- 保存 -->{{$t('Edb.detail_save_btn')}}</el-button>
+							<el-button 
+								v-permission="permissionBtn.predictEdbPermission.edbPreData_edbSource"
+								type="text" 
+								@click="toHistoryPage(select_id,$route.matched);lookEdbId=select_id"
+							><!-- 指标溯源 -->{{$t('Edb.detail_trace_btn')}}</el-button>
+
+							<el-popover 
+								v-if="showPopover"
 								placement="bottom-end" 
 								trigger="hover"
 								popper-class="edb-tool-popover"
-								width="300" style="display: inline-block;">
+								width="300" style="display: inline-block;"
+							>
 								<div class="edb-tool-wrap">
-									<el-button v-permission="permissionBtn.predictEdbPermission.edbPreData_enNameSetting"
-										type="text" @click="clickEdbNameHandle" v-if="currentLang==='ch'||!edb_nameEn">
-										设置英文名称
+									<el-button 
+										v-permission="permissionBtn.predictEdbPermission.edbPreData_enNameSetting"
+										type="text" 
+										@click="clickEdbNameHandle" 
+										v-if="currentLang==='ch'||!edb_nameEn"
+									>
+										{{$t('Edb.detail_en_btn')}}<!-- 设置英文名称 -->
 									</el-button>
-									<el-button v-permission="permissionBtn.predictEdbPermission.edbPreData_recalcu"
-										type="text" @click="updateEdbHandle">重新计算</el-button>
-									<el-button class="deletesty" @click="delEdbHandle" type="text"
-										v-if="edbButton.DeleteButton&&isEdbBtnShow('edbPreData_del')">删除</el-button>
-									<el-button v-permission="permissionBtn.predictEdbPermission.edbPreData_copyData"
-										type="text" @click="copyData">复制数据</el-button>
+									<el-button 
+										v-permission="permissionBtn.predictEdbPermission.edbPreData_recalcu"
+										type="text" 
+										@click="updateEdbHandle"
+									>{{$t('Edb.detail_recalculate_btn')}}<!-- 重新计算 --></el-button>
+									<el-button 
+										class="deletesty" 
+										@click="delEdbHandle" 
+										type="text"
+										v-if="edbButton.DeleteButton&&isEdbBtnShow('edbPreData_del')"
+									>{{$t('Edb.detail_del_btn')}}<!-- 删除 --></el-button>
+									<el-button 
+										v-permission="permissionBtn.predictEdbPermission.edbPreData_copyData"
+										type="text" 
+										@click="copyData"
+									>{{$t('Edb.detail_copydata_btn')}}<!-- 复制数据 --></el-button>
 								</div>
 								<div class="edb-btn" slot="reference">
-									<el-button type="text">更多操作</el-button>
+									<el-button type="text">{{$t('Edb.detail_more_btn')}}<!-- 更多操作 --></el-button>
 									<i class="el-icon-more" style="font-size: 14px;transform: rotate(90deg);cursor: pointer;color: #3375e1;"/>
 								</div>
 							</el-popover>
@@ -240,7 +269,7 @@
 				<!-- 列表 -->
 				<div class="sheet-list-cont" v-else-if="!select_id">
 					<div class="list-top">
-						<span>共{{ edb_total }}个预测指标</span>
+						<span>{{$t('PredictEdbPage.total_list_view',{limit: edb_total})}} </span>
 					</div>
 					<div
 						class="edbChartList-wrapper"
@@ -255,34 +284,14 @@
 								<div class="chart-img" @click="detailShowHandle(item)"
 								:style="item.ChartImage?{background: `no-repeat top/cover url('${item.ChartImage}')`}:{}"></div>
 								<div class="item-bottom">
-									<span>创建时间: {{ item.CreateTime.slice(0,10) }}</span>
+									<span>{{$t('Common.create_time')}}: {{ item.CreateTime.slice(0,10) }}</span>
 								</div>
 							</div>
 						</div>
-						<!-- <el-col
-						:span="8"
-						style="margin-bottom: 20px; padding-right: 20px"
-						v-for="item in edbChartList"
-						:key="item.EdbInfoId"
-						>
-						<el-card class="sheet-item">
-							<div slot="header" class="item-top">
-							<span class="text_oneLine">{{ currentLang === 'en' ? (item.EdbNameEn||item.EdbName) : item.EdbName }}</span>
-							</div>
-							<img
-							:src="item.ChartImage"
-							alt=""
-							class="chart-img"
-							@click="detailShowHandle(item)"
-							/>
-							<div class="item-bottom">
-							<span>创建时间: {{ item.CreateTime.slice(0,10) }}</span>
-							</div>
-						</el-card>
-						</el-col> -->
+
 					</div>
 					<div v-if="!edb_total" class="nodata">
-						<tableNoData text="暂无指标"/>
+						<tableNoData :text="$t('Table.no_edb_msg')"/>
 					</div>
 				</div>
 
@@ -309,8 +318,8 @@
 		v-dialogDrag>
 			<div class="dialog-computed-header">
 				<el-radio-group v-model="computed_source" size="medium" @change="computed_type = 0">
-					<el-radio-button :label="1">常规计算</el-radio-button>
-					<el-radio-button :label="2">批量计算</el-radio-button>
+					<el-radio-button :label="1"><!-- 常规计算 -->{{$t('EtaBasePage.normal_calculate_tab')}}</el-radio-button>
+					<el-radio-button :label="2"><!-- 批量计算 -->{{$t('EtaBasePage.batch_calculate_tab')}}</el-radio-button>
 				</el-radio-group>
 			</div>
 			<ul class="computed-ul">
@@ -606,34 +615,34 @@ export default {
 			isBatchComputed: false,//批量计算弹窗
 
 			baseTypes: [
-				{ name: '指标运算',type: 31 },
-				{ name: '同比值',type: 32 },
-				{ name: '同差值',type: 33 },
-				{ name: 'N数值移动平均计算',type: 39 },
-				{ name: '累计值转月/季值',type: 'toMonthSeason' },
-				{ name: 'N数值环比值',type: 43 },
-				{ name: 'N数值环差值',type: 44 },
-				{ name: '升频',type: 45 },
+				{ name: this.$t('Edb.CalculatesAll.calculate')/* '指标运算' */,type: 31 },
+				{ name: this.$t('Edb.CalculatesAll.on_year')/* '同比值' */,type: 32 },
+				{ name: this.$t('Edb.CalculatesAll.differ')/* '同差值' */,type: 33 },
+				{ name: this.$t('Edb.CalculatesAll.n_move_average')/* 'N数值移动平均计算' */,type: 39 },
+				{ name: this.$t('Edb.CalculatesAll.to_month_quarter')/* '累计值转月/季值' */,type: 'toMonthSeason' },
+				{ name: this.$t('Edb.CalculatesAll.n_rate')/* 'N数值环比值' */,type: 43 },
+				{ name: this.$t('Edb.CalculatesAll.n_differ')/* 'N数值环差值' */,type: 44 },
+				{ name: this.$t('Edb.CalculatesAll.up_conver')/* '升频' */,type: 45 },
 				// { name: '指标拼接',type: 'joint' },
-				{ name: '时间移位',type: 46 },
-				{ name: '超季节性',type: 49 },
-				{ name: '拟合残差',type: 50 },
-				{  name: '年化',type: 55 },
-				{ name: '降频',type: 54 },
-				{ name: '扩散指数',type: 56 },
-				{ name: '累计值',type: 'accumulate' },
-				{ name: '指数修匀',type:'alpha'}
+				{ name: this.$t('Edb.CalculatesAll.time_move')/* '时间移位' */,type: 46 },
+				{ name: this.$t('Edb.CalculatesAll.super_season')/* '超季节性' */,type: 49 },
+				{ name: this.$t('Edb.CalculatesAll.fit_residu')/* '拟合残差' */,type: 50 },
+				{  name: this.$t('Edb.CalculatesAll.annual')/* '年化' */,type: 55 },
+				{ name: this.$t('Edb.CalculatesAll.down_conver')/* '降频' */,type: 54 },
+				{ name: this.$t('Edb.CalculatesAll.diff_index')/* '扩散指数' */,type: 56 },
+				{ name: this.$t('Edb.CalculatesAll.cumulate')/* '累计值' */,type: 'accumulate' },
+				{ name: this.$t('Edb.CalculatesAll.ex_smooth')/* '指数修匀' */,type:'alpha'}
 			],
 			batchTypes: [
-				{ name: '同比值',type: 32 },
-				{ name: '同差值',type: 33 },
-				{ name: 'N数值移动平均计算',type: 39 },
-				{ name: 'N数值环比值',type: 43 },
-				{ name: 'N数值环差值',type: 44 },
-				{ name: '升频',type: 45 },
-				{ name: '累计值转月/季值',type: 'toMonthSeason' },
-				{ name: '累计值',type: 'accumulate' },
-				{ name: '指数修匀',type:'alpha'}
+				{ name: this.$t('Edb.CalculatesAll.on_year')/* '同比值' */,type: 32 },
+				{ name: this.$t('Edb.CalculatesAll.differ')/* '同差值' */,type: 33 },
+				{ name: this.$t('Edb.CalculatesAll.n_move_average')/* 'N数值移动平均计算' */,type: 39 },
+				{ name: this.$t('Edb.CalculatesAll.n_rate')/* 'N数值环比值' */,type: 43 },
+				{ name: this.$t('Edb.CalculatesAll.n_differ')/* 'N数值环差值' */,type: 44 },
+				{ name: this.$t('Edb.CalculatesAll.up_conver')/* '升频' */,type: 45 },
+				{ name: this.$t('Edb.CalculatesAll.to_month_quarter')/* '累计值转月/季值' */,type: 'toMonthSeason' },
+				{ name: this.$t('Edb.CalculatesAll.cumulate')/* '累计值' */,type: 'accumulate' },
+				{ name: this.$t('Edb.CalculatesAll.ex_smooth')/* '指数修匀' */,type:'alpha'}
 			],
       isOnlyMe:false,//只看我的
 
@@ -846,7 +855,8 @@ export default {
 				MinValue: Number(this.$refs.detailComponentRef.$refs.chartInfo.tableData[0].MinData)
 			})
 			if(Ret !== 200) return
-			this.$message.success('保存成功')
+			// this.$message.success('保存成功')
+			this.$message.success(this.$t('MsgPrompt.saved_msg'))
 
 			this.setChartImage()
 		},
@@ -1057,7 +1067,7 @@ export default {
 			this.loading = this.$loading({
 				lock: true,
 				target:'.edb-detail-wrapper',
-				text: '刷新数据中...',
+				text: this.$t('Edb.MsgPrompt.refresh_ing_msg'),
 				spinner: 'el-icon-loading',
 				background: 'rgba(255, 255, 255, 0.8)'
 			});
@@ -1080,7 +1090,7 @@ export default {
 			this.loading = this.$loading({
 				lock: true,
 				target:'.edb-detail-wrapper',
-				text: '刷新数据中...',
+				text: this.$t('Edb.MsgPrompt.refresh_ing_msg'),
 				spinner: 'el-icon-loading',
 				background: 'rgba(255, 255, 255, 0.8)'
 			});
@@ -1242,7 +1252,8 @@ export default {
         total_data.forEach((item) => (str += `${item.DataTime}\t${item.Value}\n`));
         this.$copyText(str).then(
           (res) => {
-            this.$message.success('已成功复制!');
+            // this.$message.success('已成功复制!');
+						this.$message.success(this.$t('MsgPrompt.copy_success_msg'))
           },
           (err) => {
             this.$message.error('复制失败!');
@@ -1297,7 +1308,7 @@ export default {
 		/* 编辑英文 */
 		openEnNameDia(info){
 			this.formItemArray=[{
-				label:'指标名称',
+				label:/* '指标名称' */ this.$t('Edb.Detail.e_name'),
 				value:info.EdbName,
 				key:'EdbName',
 				notEdit:true
@@ -1305,29 +1316,29 @@ export default {
 			// 中文单位有 才能编辑英文单位
 			if(info.Unit && info.Unit!='无'){
 				this.formItemArray.push({
-					label:'单位',
+					label:this.$t('Edb.Detail.e_unit') /* '单位' */,
 					value:info.Unit,
 					key:'Unit',
 					notEdit:true
 				},
 				{
-					label:'英文指标名称',
+					label:this.$t('Edb.Detail.e_en_name')/* '英文指标名称' */,
 					value:info.EdbNameEn,
 					key:'EdbNameEn',
-					placeholder:'请输入英文指标名称'
+					placeholder: this.$t('Edb.InputHolderAll.input_common',{label:this.$t('Edb.Detail.e_en_name')}) /* '请输入英文指标名称' */
 				},
 				{
-					label:'英文单位',
+					label:this.$t('Edb.Detail.e_en_unit') /* '英文单位' */,
 					value:info.UnitEn,
 					key:'UnitEn',
-					placeholder:'请输入英文单位'
+					placeholder:this.$t('Edb.InputHolderAll.input_common',{label:this.$t('Edb.Detail.e_en_unit')})  /* '请输入英文单位' */
 				})
 			}else{
 				this.formItemArray.push({
-					label:'英文指标名称',
+					label:this.$t('Edb.Detail.e_en_name') /* '英文指标名称' */,
 					value:info.EdbNameEn,
 					key:'EdbNameEn',
-					placeholder:'请输入英文指标名称'
+					placeholder:this.$t('Edb.InputHolderAll.input_common',{label:this.$t('Edb.Detail.e_en_name')}) /* '请输入英文指标名称' */
 				})
 			}
 
@@ -1472,7 +1483,7 @@ export default {
 		position: relative;
 		height: 60px;
 		.el-tabs{
-			width:200px;
+			width:210px;
 			.el-tabs__header{
 				margin-bottom: 0;
 			}