소스 검색

指标库: 添加指标,数据调整,代码运算

Karsa 1 년 전
부모
커밋
739645c4ff

+ 1 - 1
src/components/selectUnit.vue

@@ -5,7 +5,7 @@
             v-model="unit"
             :fetch-suggestions="querySearch"
             :disabled="disabled"
-            placeholder="请输入单位"
+            :placeholder="$t('Edb.InputHolderAll.input_unit')"
             @select="handleChange"
             @change="handleChange"
             @blur.stop="handleChange"

+ 5 - 1
src/lang/commonLang.js

@@ -47,7 +47,7 @@ export default {
       zh: "操作",
     },
     prompt_slogan: {
-      en: "No data available.",
+      en: "No data available",
       zh: "暂无数据",
     },
     edb_id: {
@@ -86,6 +86,10 @@ export default {
       en: "Publish Time",
       zh: "发布时间",
     },
+    loading: {
+      en: '加载中...',
+      zh: 'Loading...'
+    }
   },
   Confirm: {
     prompt: {

+ 9 - 1
src/lang/langUtils.js

@@ -8,7 +8,15 @@ export function transformLanguageData(originalObject, targetLanguage) {
 
   for (const key in originalObject) {
     if (originalObject.hasOwnProperty(key)) {
-      transformedData[key] = originalObject[key][targetLanguage];
+      //默认约定大写字母开头的key又是一层包裹 小写字母是翻译字段
+      if(/^[A-Z]/.test(key)) {
+        transformedData[key] = {};
+        for (const keyChild in originalObject[key]) {
+          transformedData[key][keyChild] = originalObject[key][keyChild][targetLanguage]
+        }
+      }else {
+        transformedData[key] = originalObject[key][targetLanguage];
+      }
     }
   }
   return transformedData;

+ 85 - 2
src/lang/modules/EtaBase/En.js

@@ -10,8 +10,91 @@ export default {
     adjustment_btn: 'Data Adjustment',
     search_placeholder: 'Indicator ID/Indicator Name',
     add_first_menu_btn: 'Add first-level catalogue',
-    total_prefix:'Total',
-    total_suffix: 'indicators',
+    total_show: 'Total {limit} indicators',
     time_show: 'Creat Time',
+    no_quote_edb: 'No cited calculated indicators',
+    no_quote_edb: 'No associated charts available for this indicator',
+
+    /* 添加指标弹窗 */
+    complany_pholder: 'Company ID',
+    no_search: 'The indicator is not searched',
+    next_step: 'Next step',
+    prev_step: 'Previous step',
+    improve_info: 'Information improvement',
+    belong_menu: 'Affiliated Catalogues',
+    add_success_msg: 'Indicators added successfully',
+    econ_base: 'Economic Database',
+    date_serie: 'Date Series',
+    stock_input_pholder: 'Please enter the stock code, only one stock code can be queried at a time',
+    edb_input_pholder: 'Please enter the indicator codes, separated by commas for multiple indicator codes',
+    edb_wind_tip: 'When entering "CG" in the Wind Financial Terminal, a code generator will pop up, which can be used to obtain codes for other indicators',
+    edb_ifind_tip: 'Use Excel iFind plug-in / date series function, according to the selected indicator to obtain the indicator code, futures and stock common code can be ticked below',
+    future_common_edb: 'Future Common indicators',
+    stock_common_edb: 'Stock Common indicators',
+    pre_price: 'Previous Closing Price',
+    op_price: 'Opening Price',
+    high_price: 'Highest Price',
+    low_price: 'Lowest Price',
+    close_price: 'Closing Price',
+    settle_price: 'Settlement Price',
+    trade_volume: 'Trading Volume',
+    turnover: 'Turnover',
+    incre_decre: 'Percentage Increase/Decrease',
+    fluctua: 'Fluctuation',
+    turn_rate: 'Turnover Rate',
+    open_inter: 'Open Interest',
+    open_val: 'Value of Open Positions',
+    fluctua_day: '日振幅',
+    have_edb_tip1:'该数据已存在数据库,名称为{name},目录为:{menu},如需重新添加,请删除原指标',
+    have_edb_tip2:'该数据已存在数据库,名称为{name},目录为:{menu}',
+    exist_edb_tips: 'The following indicators already exist in the indicator pool, please do not re-enter them!',
+    forbid_edb_tips: '您当前暂无权限查看该指标,如需查看,请联系管理员',
+    complate_info: 'Complete Information',
+    no_companyid_msg: 'Please input Company ID',
+    no_edbid_msg: 'Please input Indicator ID',
+    
+    /* 替换指标弹窗 */
+    origin_edb: 'Original Indicator',
+    replace: 'Replace to',
+    replace_all: 'Replace all',
+    replace_tip: 'Tip: After the replacement, charts and calculated indicators that refer to the original indicator will be replaced by the replacement indicator.',
+    replace_success_msg: 'This replacement will last for a longer period of time, confirm the replacement?',
+    input_origin_vaild: 'Original Indicator can not be empty',
+    input_replace_vaild: 'Indicator Replacement not be empty',
+  },
+
+  /* 代码运算页面 */
+  CodeCountPage: {
+    run_btn: 'Run',
+    res_show: 'Results Display',
+    tab_info: 'Basic Information',
+    tab_edb: 'Indicator Information',
+    res_search: 'Query results',
+    res_search_tip: 'show the structure of the table where the indicator is located and retrieve the indicator code',
+    copy_code: 'Copy Code',
+    noenough_info_msg: '请填写完整基础信息',
+    run_msg: 'Please run code first',
+    no_code_msg: 'Please input code',
+    run_ing: 'Runing',
+    run_success: 'Run successfully',
+    table_name: 'Table Name',
+    field_name: 'Field Name',
+    field_instru: '*Field Description',
+    res_show_col1: 'Date',
+    res_show_col2: 'Value',
+  },
+
+  /* 数据调整页面 */
+  AdjustDataPage: {
+    usetip_msg: 'Use Instructions',
+    usetip: `Data adjustment:<br>1、Adjust the historical data of the selected indicator and saved, this indicator will be updated based on the adjusted data.<br>
+    2、Support adding future data to the selected indicator, and data correction when the indicator is updated to the same date in the future<br>
+    3、Select the table, use "Ctrl + F" to call the fast search function, support quickly locate the data in the table.<br>
+    Note: The system only takes data from columns A and B.`,
+    search_res: '查询结果',
+    or_edbid: 'Original Indicator ID',
+    or_edbname: 'Original Indicator Name',
+    choose_edb: 'Select indicators',
+    input_content_msg: 'Please input table content'
   }
 }

+ 85 - 2
src/lang/modules/EtaBase/Zh.js

@@ -10,8 +10,91 @@ export default {
     adjustment_btn: '数据调整',
     search_placeholder: '指标ID/指标名称',
     add_first_menu_btn: '添加一级目录',
-    total_prefix:'共',
-    total_suffix: '个指标',
+    total_show: '共{limit}个指标',
     time_show: '创建时间',
+    no_quote_chart: '该指标暂无关联图',
+    no_quote_edb: '暂无引用的计算指标',
+
+    /* 添加指标弹窗 */
+    complany_pholder: '公司ID',
+    no_search: '未搜索到该指标',
+    next_step: '下一步',
+    prev_step: '上一步',
+    improve_info: '完善信息',
+    belong_menu: '所属目录',
+    add_success_msg: '新增指标成功',
+    econ_base: '经济数据库',
+    date_serie: '日期序列',
+    stock_input_pholder: '请输入证券代码,每次只查询一个证券代码',
+    edb_input_pholder: '请输入指标代码,多个指标代码用英文逗号分隔',
+    edb_wind_tip: 'wind金融终端输入”CG“会弹出代码生成器,可在代码生成器上获取其他指标的代码',
+    edb_ifind_tip: '可用Excel同花顺插件/日期序列功能,根据所选指标获取指标代码,期货和股票常用代码可在下方勾选',
+    future_common_edb: '期货常用指标',
+    stock_common_edb: '股票常用指标',
+    pre_price: '前收盘价',
+    op_price: '开盘价',
+    high_price: '最高价',
+    low_price: '最低价',
+    close_price: '收盘价',
+    settle_price: '结算价',
+    trade_volume: '成交量',
+    turnover: '成交额',
+    incre_decre: '涨跌幅',
+    fluctua: '振幅',
+    turn_rate: '换手率',
+    open_inter: '持仓量',
+    open_val: '持仓额',
+    fluctua_day: '日振幅',
+    have_edb_tip1:'该数据已存在数据库,名称为{name},目录为:{menu},如需重新添加,请删除原指标',
+    have_edb_tip2:'该数据已存在数据库,名称为{name},目录为:{menu}',
+    exist_edb_tips: '指标库中已存在以下指标,请勿重新输入!',
+    forbid_edb_tips: '您当前暂无权限查看该指标,如需查看,请联系管理员',
+    complate_info: '完善信息',
+    no_companyid_msg: '请输入公司ID',
+    no_edbid_msg: '请输入指标ID',
+
+    /* 替换指标弹窗 */
+    origin_edb: '原指标',
+    replace: '替换为',
+    replace_all: '全部替换',
+    replace_tip: '提示:替换后,图表和计算指标引用到原指标的会全部由替换指标替代',
+    replace_success_msg: '本次替换将持续较长时间,是否确认替换?',
+    input_origin_vaild: '原指标不能为空',
+    input_replace_vaild: '替换指标不能为空',
+  },
+
+  /* 代码运算页面 */
+  CodeCountPage: {
+    run_btn: '运行',
+    res_show: '结果展示',
+    tab_info: '基础信息',
+    tab_edb: '指标信息',
+    res_search: '查询结果',
+    res_search_tip: '展示指标所在表结构及调取指标代码',
+    copy_code: '复制代码',
+    noenough_info_msg: '请填写完整基础信息',
+    run_msg: '请先运行代码',
+    no_code_msg: '请输入代码',
+    run_ing: '运行中',
+    run_success: '运行成功',
+    table_name: '表名',
+    field_name: '字段名',
+    field_instru: '*字段说明',
+    res_show_col1: '日期',
+    res_show_col2: '值',
+  },
+
+  /* 数据调整页面 */
+  AdjustDataPage: {
+    usetip_msg: '使用说明',
+    usetip: `数据调整:<br>1、将所选指标的历史数据经过调整后保存,该指标更新时将在调整数据的基础上更新最新数据;<br>
+    2、支持对所选指标添加未来的数据,指标更新到未来相同的日期时,进行数据更正;<br>
+    3、选中表格,使用“Ctrl+F”可调用快速查找功能,支持快速定位到表格中的数据;<br>
+    注:系统只取A、B列数据`,
+    search_res: '查询结果',
+    or_edbid: '原指标ID',
+    or_edbname: '原指标名称',
+    choose_edb: '选择指标',
+    input_content_msg: '请输入表格内容'
   }
 }

+ 312 - 72
src/lang/modules/EtaBase/commonLang.js

@@ -43,6 +43,10 @@ export default {
     zh:'复制数据',
     en:'Copy data'
   },
+  detail_lookdata_btn: {
+    zh:'查看数据',
+    en:'View indicators'
+  },
   detail_del_btn:{
     zh:'删除',
     en:'Delete'
@@ -63,82 +67,14 @@ export default {
     zh:'添加人',
     en:'Creator'
   },
-  e_date: {
-    zh:'日期',
-    en:'Date'
-  },
-  e_value: {
-    zh:'值',
-    en:'Value'
-  },
-  source: {
-    zh:'数据来源',
-    en:'Data Source'
-  },
-  e_id: {
-    zh:'指标ID',
-    en:'Indicator ID'
-  },
-  e_name: {
-    zh:'指标名称',
-    en:'Indicator Name'
-  },
-  e_fre: {
-    zh:'频度',
-    en:'Frequency'
-  },
-  e_unit: {
-    zh:'单位',
-    en:'Unit'
-  },
-  e_menu: {
-    zh:'指标目录',
-    en:'Data Catalogue'
-  },
-  e_start_time: {
-    zh:'起始时间',
-    en:'Start Time'
-  },
-  e_update_time: {
-    zh:'更新时间',
-    en:'Update Time'
-  },
-  e_status: {
-    zh:'刷新状态',
-    en:'Update Status'
-  },
-  time_interval: {
-    zh:'时间段',
-    en: 'Time Period'
-  },
-  time_all: {
-    zh:'全部',
-    en: 'All'
-  },
-  since_onefive: {
-    zh:'15年至今',
-    en: 'Since 2015'
-  },
-  since_twozero: {
-    zh:'20年至今',
-    en: 'Since 2020'
-  },
-  since_twoone: {
-    zh:'21年至今',
-    en: 'Since 2021'
-  },
-  since_twotwo: {
-    zh:'22年至今',
-    en:'Since 2022'
-  },
-  choose_time: {
-    zh:'请选择时间段',
-    en:'Please select time period'
-  },
   show_yearonyear: {
     zh:'展示同比图',
     en:'Show year-on-year chart'
   },
+  hide_yearonyear: {
+    zh:'隐藏同比图',
+    en:'Hide year-on-year chart'
+  },
   switch_season: {
     zh:'切换季节性图',
     en:'Switch to seasonal chart'
@@ -147,4 +83,308 @@ export default {
     zh:'切换曲线图',
     en:'Switch to curve chart'
   },
+
+  /* 指标相关字段 */
+  Detail: {
+    e_date: {
+      zh:'日期',
+      en:'Date'
+    },
+    e_value: {
+      zh:'值',
+      en:'Value'
+    },
+    source: {
+      zh:'数据来源',
+      en:'Data Source'
+    },
+    e_id: {
+      zh:'指标ID',
+      en:'Indicator ID'
+    },
+    e_name: {
+      zh:'指标名称',
+      en:'Indicator Name'
+    },
+    e_code: {
+      zh:'指标编码',
+      en:'Indicator Code'
+    },
+    e_fre: {
+      zh:'频度',
+      en:'Frequency'
+    },
+    e_unit: {
+      zh:'单位',
+      en:'Unit'
+    },
+    e_menu: {
+      zh:'指标目录',
+      en:'Data Catalogue'
+    },
+    e_start_time: {
+      zh:'起始时间',
+      en:'Start Time'
+    },
+    e_end_time: {
+      zh: '结束时间',
+      en: 'End Time'
+    },
+    e_update_time: {
+      zh:'更新时间',
+      en:'Update Time'
+    },
+    e_status: {
+      zh:'刷新状态',
+      en:'Update Status'
+    },
+    e_latest_date: {
+      zh:'最新日期',
+      en:'Latest Date'
+    },
+    e_latest_value: {
+      zh:'最新值',
+      en:'Latest Value'
+    },
+    e_recent_time: {
+      zh:'最近更新',
+      en:'Recent Update'
+    },
+    e_stock_code: {
+      zh:'证券代码',
+      en:' Security Code'
+    },
+    e_opera: {
+      zh:'操作',
+      en:'Operation'
+    },
+  },
+
+  /* 单位 */
+  UnitAll: {
+    u_null: {
+      zh:'无',
+      en:'Null'
+    },
+    wanton: {
+      zh:'万吨',
+      en:'10000 tonnes'
+    },
+    u_bill: {
+      zh:'亿元',
+      en:'Billions'
+    },
+    u_yuan: {
+      zh:'元',
+      en:'Yuan'
+    },
+    yuan_ton: {
+      zh:'元/吨',
+      en:'Yuan/tonne'
+    },
+    yuan_wetton: {
+      zh:'元/湿吨',
+      en:'Yuan/wet ton'
+    },
+    u_kg: {
+      zh:'千克',
+      en:'kg'
+    },
+    u_ton: {
+      zh:'吨',
+      en:'Tonnes'
+    },
+    short_ton: {
+      zh:'短吨',
+      en:'short ton'
+    },
+    doll_ton: {
+      zh:'美元/吨',
+      en:'dollar/tonne'
+    },
+    wan_skilo: {
+      zh:'万平方千米',
+      en:'ten thousand square kilometers'
+    },
+    doll_bar: {
+      zh:'美元/桶',
+      en:'dollar/barrel'
+    },
+    cent_gal: {
+      zh:'美分/加仑',
+      en:'cent/gallon'
+    },
+    u_hand: {
+      zh:'手',
+      en:'hand'
+    },
+  },
+
+  /* 频度 */
+  FreAll: {
+    day: {
+      zh:'日度',
+      en:'Daliy'
+    },
+    week: {
+      zh:'周度',
+      en:'Weekly'
+    },
+    dekad: {
+      zh:'旬度',
+      en:'Every ten days'
+    },
+    month: {
+      zh:'月度',
+      en:'Monthly'
+    },
+    quarter: {
+      zh:'季度',
+      en:'Quarterly'
+    },
+    year: {
+      zh:'年度',
+      en:'Yearly'
+    },
+  },
+
+  /* 计算方式 */
+  CalculatesAll: {
+    calculate: {
+      zh: '指标运算',
+      en: 'Calculation'
+    },
+    to_month_quarter: {
+      zh: '累计值转月值/转季值',
+      en: 'Convert Cumulative Values to Monthly/Quarterly Values'
+    },
+    to_month: {
+      zh: '累计值转月值',
+      en: 'Convert Cumulative Values to Monthly Values'
+    },
+    to_month_quarter: {
+      zh: '累计值转季值',
+      en: 'Convert Cumulative Values to Quarterly Values'
+    },
+    on_year: {
+      zh: '同比值',
+      en: 'Year-on-Year Value'
+    },
+    differ: {
+      zh: '同差值',
+      en: 'Difference Value'
+    },
+    n_move_average: {
+      zh: 'N数值移动平均计算',
+      en: 'Calculation of N-number Moving Average'
+    },
+    n_rate: {
+      zh: 'N数值环比值',
+      en: 'Sequential Growth Rate'
+    },
+    n_differ: {
+      zh: 'N数值环差值',
+      en: 'N Period-over-Period Difference Calculation'
+    },
+    up_conver: {
+      zh: '升频',
+      en: 'Up-conversion'
+    },
+    splic: {
+      zh: '指标拼接',
+      en: 'Indicator Splicing'
+    },
+    time_move: {
+      zh: '时间移位',
+      en: 'Time Shift'
+    },
+    super_season: {
+      zh: '超季节性',
+      en: 'Super-seasonality'
+    },
+    fit_residu: {
+      zh: '拟合残差',
+      en: 'Fit Residual'
+    },
+    annual: {
+      zh: '年化',
+      en: 'annualization'
+    },
+    down_conver: {
+      zh: '降频',
+      en: 'Downconversion'
+    },
+    diff_index: {
+      zh: '扩散指数',
+      en: 'Diffusion Index'
+    },
+    cumulate: {
+      zh: '累计值',
+      en: 'Cumulative Value'
+    },
+    ex_smooth: {
+      zh: '指数修匀',
+      en: 'Exponential Smoothing'
+    },
+    day_mean: {
+      zh: '日均值',
+      en: 'Daily Mean'
+    },
+  },
+
+  /* 指标添加form提示 */
+  Valids: {
+    name_msg: {
+      zh: '指标名称不能为空',
+      en: 'The indicator name cannot be empty'
+    },
+    menu_msg: {
+      zh: '指标目录不能为空',
+      en: 'Index directory can not be empty'
+    },
+    unit_msg: {
+      zh: '单位不能为空',
+      en: 'Unit can not be empty'
+    },
+    fre_msg: {
+      zh: '频度不能为空',
+      en: 'Frequency can not be empty'
+    },
+    n_msg: {
+      zh: 'N值不能为空',
+      en: 'N can not be empty'
+    },
+    move_msg: {
+      zh: '移动方式参数不能为空',
+      en: 'Parameter  can not be empty'
+    },
+    calendar_msg: {
+      zh: '日历不能为空',
+      en: 'Calendar can not be empty'
+    },
+    alpha_msg: {
+      zh: 'alpha值不能为空',
+      en: 'Alpha can not be empty'
+    },
+  },
+
+  /* 通用相关pholder */
+  InputHolderAll: {
+    input_name: {
+      zh: '请输入指标名称',
+      en: 'Please input indicator name'
+    },
+    input_menu: {
+      zh: '请选择指标目录',
+      en: 'Please select indicator directory '
+    },
+    input_unit: {
+      zh: '请输入单位',
+      en: 'Please input unit'
+    },
+    input_fre: {
+      zh: '请选择频度',
+      en: 'Please input frequency'
+    }
+  }
 }

+ 36 - 0
src/lang/modules/EtaChart/commonLang.js

@@ -3,6 +3,42 @@
 */
 
 export default {
+  time_interval: {
+    zh:'时间段',
+    en: 'Time Period'
+  },
+  time_all: {
+    zh:'全部',
+    en: 'All'
+  },
+  since_onefive: {
+    zh:'15年至今',
+    en: 'Since 2015'
+  },
+  since_twozero: {
+    zh:'20年至今',
+    en: 'Since 2020'
+  },
+  since_twoone: {
+    zh:'21年至今',
+    en: 'Since 2021'
+  },
+  since_twotwo: {
+    zh:'22年至今',
+    en:'Since 2022'
+  },
+  choose_time: {
+    zh:'请选择时间段',
+    en:'Please select time period'
+  },
+  calendar_gre: {
+    zh: '公历',
+    en: 'Gregorian Calendar'
+  },
+  calendar_lunar: {
+    zh: '农历',
+    en: 'Lunar Calendar'
+  },
   chart_share_btn:{
     zh:'分享',
     en:'Share'

+ 2 - 0
src/main.js

@@ -40,6 +40,8 @@ Vue.use(ElementUI);
 Vue.use(VueRouter);
 Vue.use(Vuex);
 
+Vue.prototype.$i18nt = i18n;
+
 // 设置element语言
 // locale.use(localStorage.getItem('i18n')!='zh' ?  langEN:langZH )
 locale.i18n((key, value) => i18n.t(key, value))

+ 27 - 29
src/views/dataEntry_manage/adjustdata/adjustData.vue

@@ -4,13 +4,13 @@
       <div class="left-handle">
         <ul class="min-top" v-if="!edb_id">
           <li>
-            <label style="margin-right:5px;">选择指标:</label>
+            <label style="margin-right:5px;">{{$t('AdjustDataPage.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: 200px"
               remote
               :remote-method="getTarget"
@@ -30,25 +30,25 @@
             <i class="el-icon-tickets" style="color:#409EFF;font-size:18px" @click="toHistoryPage(select_target,$route.matched);lookEdbId=select_target" v-if="select_target"/>
           </li>
           <li v-show="old_edb_info.id">
-            <label style="margin-right:5px;"> 查询结果:</label>
-            <span style="margin-right: 20px">指标ID:{{old_edb_info.id}}</span>
-            <span>指标名称:{{old_edb_info.name}}</span>
+            <label style="margin-right:5px;"> {{$t('AdjustDataPage.search_res')}}:</label>
+            <span style="margin-right: 20px">{{$t('Edb.Detail.e_id')}}:{{old_edb_info.id}}</span>
+            <span>{{$t('Edb.Detail.e_name')}}:{{old_edb_info.name}}</span>
           </li>
         </ul>
         <div v-if="edb_id" style="margin-bottom:20px">
-          <span style="display:inline-block;margin-right:30px">原指标ID:{{EDBInfoOfCalculateData.FromEdbCode}}</span>
-          <span>原指标名称:{{EDBInfoOfCalculateData.FromEdbName}}</span>
+          <span style="display:inline-block;margin-right:30px">{{$t('AdjustDataPage.or_edbid')}}:{{EDBInfoOfCalculateData.FromEdbCode}}</span>
+          <span>{{$t('AdjustDataPage.or_edbname')}}:{{EDBInfoOfCalculateData.FromEdbName}}</span>
         </div>
       </div>
       <div class="right-handle">
         <div>
-          <el-button type="primary" size="medium" @click="saveSheetHandle">保存</el-button>
-          <el-button type="primary" size="medium" plain @click="$router.go(-1)">取消</el-button>
+          <el-button type="primary" size="medium" @click="saveSheetHandle"><!-- 保存 -->{{$t('Dialog.confirm_save_btn')}}</el-button>
+          <el-button type="primary" size="medium" plain @click="$router.go(-1)"><!-- 取消 -->{{$t('Dialog.back_btn')}}</el-button>
         </div>
         <el-tooltip>
           <div slot="content" v-html="tips"></div>
           <div class="tips-cont">
-            <span>使用说明</span>
+            <span><!-- 使用说明 -->{{$t('AdjustDataPage.usetip_msg')}}</span>
             <i class="el-icon-question" style="color: #999;"></i>
           </div>
         </el-tooltip>
@@ -57,24 +57,24 @@
           ref="form"
           label-position="right"
           inline
-          label-width="80px"
+          label-width="120px"
           :model="formData"
           :rules="formRules"
         >
-          <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: 150px"
-              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: 120px"
 						/>
           </el-form-item>
-          <el-form-item label="指标目录" prop="menu">
+          <el-form-item :label="$t('Edb.Detail.e_menu')" prop="menu">
             <el-cascader
               v-model="formData.menu"
               :options="classifyOptions"
@@ -86,13 +86,13 @@
                 checkStrictly: true
               }"
               clearable
-              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: 120px"
               clearable
             >
@@ -129,7 +129,7 @@
               </template>
             </el-table-column>
             <div slot="empty" style="padding: 50px 0;">
-              <tableNoData text="暂无数据" size="mini"/>
+              <tableNoData :text="$t('Table.prompt_slogan')" size="mini"/>
             </div>
         </el-table>
       </div>
@@ -146,7 +146,7 @@
 
 <script>
 import {dataBaseInterface} from '@/api/modules/chartApi'
-import { formRules } from '../databaseComponents/util';
+import { formRules,frequencyArr } from '../databaseComponents/util';
 import { unitArr } from '@/utils/defaultOptions';
 import { mapState } from 'vuex';
 export default {
@@ -162,7 +162,7 @@ export default {
       },
       formRules,
       unitArr,
-      frequencyArr: ['日度', '周度','旬度', '月度', '季度', '年度'],
+      frequencyArr,
       classifyOptions: [],
 
       searchOptions: [],
@@ -180,14 +180,11 @@ export default {
       start_index: 0,
       end_index: 49,
       tableColums: [
-        { label: '日期',key:'DataTime' },
-        { label: '值',key:'Value' }
+        { label: this.$t('Edb.Detail.e_date'),key:'DataTime' },
+        { label: this.$t('Edb.Detail.e_value'),key:'Value' }
       ],
 
-      tips: `数据调整:<br>1、将所选指标的历史数据经过调整后保存,该指标更新时将在调整数据的基础上更新最新数据;<br>
-      2、支持对所选指标添加未来的数据,指标更新到未来相同的日期时,进行数据更正;<br>
-      3、选中表格,使用“Ctrl+F”可调用快速查找功能,支持快速定位到表格中的数据;<br>
-      注:系统只取A、B列数据`,
+      tips: this.$t('AdjustDataPage.usetip'),
 
       excelData: [
         {
@@ -482,7 +479,7 @@ export default {
       let data = luckysheet.getAllSheets()[0]
       await this.$refs.form.validate();
       // console.log(data.celldata)
-      if(data.celldata.length < 3) return this.$message.warning('请输入表格内容');
+      if(data.celldata.length < 3) return this.$message.warning(this.$t('AdjustDataPage.input_content_msg'));
 
       const { targetName,menu,frequency,unit} = this.formData;
 
@@ -513,7 +510,8 @@ export default {
       })
 
       if(Ret !== 200) return
-      this.$message.success('保存成功')
+      // this.$message.success('保存成功')
+      this.$message.success(this.$t('MsgPrompt.saved_msg'))
 
       const { UniqueCode,EdbInfoId } = Data;
 

+ 0 - 1
src/views/dataEntry_manage/codecount/compoments/codeMirror.vue

@@ -2,7 +2,6 @@
 	<codemirror
 		v-model="codeContent"
 		:options="codeOptions"
-		placeholder="请输入python代码"
 	/>
 </template>
 

+ 2 - 2
src/views/dataEntry_manage/codecount/compoments/dataTable.vue

@@ -23,8 +23,8 @@ export default {
     columns: {
       type: Array,
       default: [
-        { title: '日期' },
-        { title: '值'  },
+        { title: this.$t('CodeCountPage.res_show_col1') },
+        { title: this.$t('CodeCountPage.res_show_col2')  },
       ],
     },
     data: {

+ 38 - 33
src/views/dataEntry_manage/codecount/index.vue

@@ -1,10 +1,10 @@
 <template>
 	<el-card class="codecount-container">
 		<div slot="header" class="header">
-			<span>代码运算</span>
+			<span><!-- 代码运算 -->{{$t('EtaBasePage.algorithm_btn')}}</span>
 			<div>
-				<el-button type="primary" @click="runCodeHandle">运行</el-button>
-				<el-button type="primary" plain @click="saveHandle" v-if="!isView">保存</el-button>
+				<el-button type="primary" @click="runCodeHandle"><!-- 运行 -->{{$t('CodeCountPage.run_btn')}}</el-button>
+				<el-button type="primary" plain @click="saveHandle" v-if="!isView"><!-- 保存 -->{{$t('Dialog.confirm_save_btn')}}</el-button>
 			</div>
 		</div>
 		<div class="bottom">
@@ -13,7 +13,7 @@
 					<code-mirror ref="codeRef" :code="runCode" @initResult="initResult"/>
 				</div>
 				<div class="code-result">
-					<span>结果展示</span>
+					<span><!-- 结果展示 -->{{$t('CodeCountPage.res_show')}}</span>
 					<div class="code-result-wrapper" v-if="isShowResult">
 						<data-table
 							:data="runResultData"
@@ -23,32 +23,32 @@
 			</el-col>
 			<el-col :span="8" class="bottom-wrapper">
 				<el-tabs>
-					<el-tab-pane label="基础信息">
+					<el-tab-pane :label="$t('CodeCountPage.tab_info')">
 						<el-form
 							ref="diaForm"
 							label-position="left"
 							inline
-							label-width="80px"
+							label-width="110px"
 							:model="formData"
 							:disabled="isView"
 						>
-							<el-form-item label="指标名称" prop="edb_name">
+							<el-form-item :label="$t('Edb.Detail.e_name')" prop="edb_name">
 								<el-input
 									v-model="formData.edb_name"
-									placeholder="指标名称"
+									:placeholder="$t('Edb.InputHolderAll.input_name')"
 									style="width:220px"
 								/>
 							</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:220px"
 								/>
 							</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')"
 								clearable
 								style="width:220px">
 									<el-option
@@ -59,7 +59,7 @@
 									</el-option>
 								</el-select>
 							</el-form-item>
-							<el-form-item label="指标目录" prop="menu">
+							<el-form-item :label="$t('Edb.Detail.e_menu')" prop="menu">
 								<el-cascader
 								v-model="formData.menu"
 								:options="menuOptions"
@@ -72,17 +72,17 @@
 								@change="menuChange"
 								clearable
 								style="width:220px"
-								placeholder="请选择指标目录"/>
+								:placeholder="$t('Edb.InputHolderAll.input_menu')"/>
 							</el-form-item>
 						</el-form>
 					</el-tab-pane>
-					<el-tab-pane label="指标信息" v-if="!isView">
+					<el-tab-pane :label="$t('CodeCountPage.tab_edb')" v-if="!isView">
 						<el-form
 							label-position="left"
 							inline
-							label-width="100px"
+							label-width="120px"
 						>
-							<el-form-item label="数据来源">
+							<el-form-item :label="$t('Edb.Detail.source')">
 
 								<el-cascader
 								v-model="fromType"
@@ -95,7 +95,7 @@
 								}"
 								clearable
 								style="width:220px"
-								placeholder="请选择来源"/>
+								:placeholder="$t('Edb.Detail.source')"/>
 								<!-- <el-select 
 								v-model="fromType" 
 								placeholder="请选择来源"
@@ -108,7 +108,7 @@
 									</el-option>
 								</el-select> -->
 							</el-form-item>
-							<el-form-item label="指标名称/ID">
+							<el-form-item :label="$t('EtaBasePage.search_placeholder')">
 								<el-select
 									v-model="search_txt"
 									v-loadMore="searchLoad"
@@ -116,7 +116,7 @@
 									:filterable="!search_txt"
 									remote
 									clearable
-									placeholder="指标ID/指标名称"
+									:placeholder="$t('EtaBasePage.search_placeholder')"
 									:remote-method="searchHandle"
 									@click.native="inputFocusHandle"
 									style="width:220px"
@@ -134,7 +134,7 @@
 							</el-form-item>
 						</el-form>
 						<div class="search-result">
-							<p>查询结果 <span style="color: #999;">(展示指标所在表结构及调取指标代码)</span></p>
+							<p>{{$t('CodeCountPage.res_search')}} <span style="color: #999;">(<!-- 展示指标所在表结构及调取指标代码 -->{{$t('CodeCountPage.res_search_tip')}})</span></p>
 							<template v-if="resultInfo.sheet_name">
 								<table border>
 									<thead>
@@ -151,7 +151,7 @@
 									</tbody>
 								</table>
 								<div class="sql-code" v-html="resultInfo.sql_code"></div>
-								<el-button type="primary" class="copy-btn" @click="copyCode" :data-clipboard-text="resultInfo.sql_code">复制代码</el-button>
+								<el-button type="primary" class="copy-btn" @click="copyCode" :data-clipboard-text="resultInfo.sql_code"><!-- 复制代码 -->{{$t('CodeCountPage.copy_code')}}</el-button>
 
 							</template>
 						</div>
@@ -166,7 +166,7 @@
 import { dataBaseInterface } from '@/api/api.js';
 import { unitArr } from '@/utils/defaultOptions';
 import storage from '@/utils/storage.js';
-// import { allFromArr } from '../databaseComponents/util';
+import { frequencyArr } from '../databaseComponents/util';
 import codeMirror from './compoments/codeMirror';
 import dataTable from './compoments/dataTable';
 import { mapState } from 'vuex';
@@ -185,7 +185,7 @@ export default {
 			fromType:"",
 			unitArr,
 			allFromArr:[],//所有指标来源
-			frequencyArr:['日度','周度','旬度','月度','季度','年度'],
+			frequencyArr,
 			menuOptions:[],//目录数组
 
 			search_txt: '',
@@ -199,7 +199,8 @@ export default {
 			runResultData:[],//运行结果
 
 			resultInfo: {
-				headers: ['表名','字段名','*字段说明'],
+				// headers: ['表名','字段名','*字段说明'],
+				headers: [this.$t('CodeCountPage.table_name'),this.$t('CodeCountPage.field_name'),this.$t('CodeCountPage.field_instru')],
 				sheetArr:[],
 				sheet_name: '',
 				sql_code: ''
@@ -231,13 +232,13 @@ export default {
 
 		/* 运行代码 */
 		runCodeHandle: _.debounce(function() {
-			if(!this.$refs.codeRef.codeContent) return this.$message.warning('请输入代码');
+			if(!this.$refs.codeRef.codeContent) return this.$message.warning(this.$t('CodeCountPage.no_code_msg'));
 
 			this.isShowResult = false;
 
 			const loading = this.$loading({
 				lock: true,
-				text: '运行中...',
+				text: `${this.$t('CodeCountPage.run_ing')}...`,
 				target:'.left-wrapper',
 				spinner: 'el-icon-loading'
 			});
@@ -248,7 +249,8 @@ export default {
 				
 				loading.close();
 				if(res.Ret !== 200) return
-				this.$message.success('运行成功')
+				// this.$message.success('运行成功')
+				this.$message.success(this.$t('CodeCountPage.run_success'))
 
 				const { date,value } = res.Data;
 				const data_arr = []
@@ -312,13 +314,15 @@ export default {
 		copyCode() {
 			var clipboard = new this.Clipboard('.copy-btn')
 				clipboard.on('success', e => {
-					this.$message.success('复制成功')
+					// this.$message.success('复制成功')
+					this.$message.success(this.$t('MsgPrompt.copy_success_msg'))
 					e.clearSelection() // 释放内存
 					clipboard.destroy()
 				})
 				// // 浏览器不支持
 				clipboard.on('error', e => {
-					this.$message.warning('浏览器暂不支持')
+					// this.$message.warning('浏览器暂不支持')
+					this.$message.warning(this.$t('MsgPrompt.browser_not_support'))
 					// 释放内存
 					clipboard.destroy()
 				})
@@ -326,12 +330,12 @@ export default {
 		
 		/* 保存代码 */
 		async saveHandle() {
-			if(!this.formData.edb_name || !this.formData.menu || !this.formData.frequency || !this.formData.unit) return this.$message.warning('请填写完整基础信息')
-			if(!this.isShowResult) return this.$message.warning('请先运行代码')
+			if(!this.formData.edb_name || !this.formData.menu || !this.formData.frequency || !this.formData.unit) return this.$message.warning(this.$t('CodeCountPage.noenough_info_msg'))
+			if(!this.isShowResult) return this.$message.warning(this.$t('CodeCountPage.run_msg'))
 
 			const loading = this.$loading({
 				lock: true,
-				text: '保存中...',
+				text: `${this.$t('MsgPrompt.saveing_msg')}...`,
 				target:'.codecount-container',
 				spinner: 'el-icon-loading'
 			});
@@ -349,7 +353,8 @@ export default {
 			
 			loading.close();
 			if( Ret !== 200 ) return 
-			this.$message.success('保存成功')
+			// this.$message.success('保存成功')
+			this.$message.success(this.$t('MsgPrompt.saved_msg'))
 			const { UniqueCode,EdbInfoId } = Data;
 
       this.$router.replace({path:'/database', query: {

+ 52 - 45
src/views/dataEntry_manage/databaseComponents/addTargetDiaBase.vue

@@ -4,12 +4,12 @@
 			@close="cancelHandle" custom-class="custom-dialog fit-screen-dialog" top="5vh" center width="85vw" v-dialogDrag>
 			<div slot="title" style="display:flex;alignItems:center;">
 				<img :src="$icons.add" style="color:#fff;width:16px;height:16px;marginRight:5px;">
-				<span style="fontSize:16px;">添加指标</span>
+				<span style="fontSize:16px;">{{$t('EtaBasePage.add_edb_btn')}}</span>
 			</div>
-			<div v-if="wsdAddStep==1" v-loading="isLoadingData" element-loading-text="加载中······">
+			<div v-if="wsdAddStep==1" v-loading="isLoadingData" :element-loading-text="$t('Table.loading')">
 				<div class="dialog-top" >
 					<div>
-						<span>数据来源</span>
+						<span>{{$t('Edb.Detail.source')}}</span>
 						<el-select v-model="fromType" placeholder="请选择来源" style="width:240px;margin-left:10px" @change="changeTrade"
 							:disabled="haveResult">
 							<el-option v-for="item in fromArr" :key="item" :label="item" :value="item">
@@ -21,22 +21,22 @@
 							</el-option>
 						</el-select>
 					</div>
-					<el-input v-show="isCompanyCode" placeholder="公司ID" v-model="search_company_txt" style="maxWidth:340px;"
+					<el-input v-show="isCompanyCode" :placeholder="$t('EtaBasePage.complany_pholder')" v-model="search_company_txt" style="maxWidth:340px;"
 						@keyup.enter.native="searchHandle" :disabled="haveResult" clearable>
 						<i slot="prefix" class="el-input__icon el-icon-search"></i>
 					</el-input>
 
-					<el-input placeholder="指标ID" v-model="search_txt" style="maxWidth:300px" v-if="!(hasDateSequence && fromDatabase=='1')"
+					<el-input :placeholder="$t('Edb.Detail.e_id')" v-model="search_txt" style="maxWidth:300px" v-if="!(hasDateSequence && fromDatabase=='1')"
 						@keyup.enter.native="searchHandle" :disabled="haveResult" clearable>
 						<i slot="prefix" class="el-input__icon el-icon-search"></i>
 					</el-input>
 				</div>
 				<div v-if="hasDateSequence && fromDatabase=='1'">
 					<div class="wsd-index-box">
-						<el-input placeholder="请输入证券代码,每次只查询一个证券代码" v-model.trim="securityCodeText" class="wsd-index-input" 
+						<el-input :placeholder="$t('EtaBasePage.stock_input_pholder')" v-model.trim="securityCodeText" class="wsd-index-input" 
 						@blur="codeInputBlur('security')" style="margin-bottom: 20px;"></el-input>
 						<div class="wsd-index-code">
-							<el-input placeholder="请输入指标代码,多个指标代码用英文逗号分隔" v-model.trim="indexCodeText" 
+							<el-input :placeholder="$t('EtaBasePage.edb_input_pholder')" v-model.trim="indexCodeText" 
 							class="wsd-index-input" @blur="codeInputBlur('index')"></el-input>
 							<div class="index-code-hint">
 								{{ indexCodeHintText }}
@@ -59,20 +59,23 @@
 					</div>
 					<div class="dia-bot">
 						<el-button type="primary" @click="wsdNextHandle" :disabled="!isCodeComplete" 
-						style="width: 120px;" :loading="isLoadingData" >下一步
+						style="width: 120px;" :loading="isLoadingData" ><!-- 下一步 -->{{$t('EtaBasePage.next_step')}}
 						</el-button>
 					</div>
 				</div>
 				<template v-else>
 					<div class="warn_txt" v-if="status === 1">
-						该数据已存在数据库,名称为:{{have_edbobj.edb_name}},目录为:{{ have_edbobj.warnTip }},如需重新添加,请删除原指标
+						<!-- 该数据已存在数据库,名称为:{{have_edbobj.edb_name}},目录为:{{ have_edbobj.warnTip }},如需重新添加,请删除原指标 -->
+						{{ $t('EtaBasePage.have_edb_tip1',{ name:have_edbobj.edb_name,menu: have_edbobj.warnTip}) }}
 					</div>
 					<div class="warn_txt" v-else-if="status === 3">
-						该数据已存在数据库,名称为:{{have_edbobj.edb_name}},目录为:{{ have_edbobj.warnTip }}
+						<!-- 该数据已存在数据库,名称为:{{have_edbobj.edb_name}},目录为:{{ have_edbobj.warnTip }} -->
+						{{ $t('EtaBasePage.have_edb_tip2',{ name:have_edbobj.edb_name,menu: have_edbobj.warnTip}) }}
 					</div>
 
 					<div class="no-auth" v-if="status === 3">
-						您当前暂无权限查看该指标,如需查看,请联系管理员
+						<!-- 您当前暂无权限查看该指标,如需查看,请联系管理员 -->
+						{{ $t('EtaBasePage.forbid_edb_tips') }}
 					</div>
 					<div class="dialog-main" v-else>
 						<el-table ref="Table" :data="tableData" highlight-current-row border
@@ -86,7 +89,7 @@
 								</template>
 							</el-table-column>
 							<div slot="empty" style="padding:40px 0 120px;">
-								<tableNoData text="未搜索到该指标" size="mini"/>
+								<tableNoData :text="$t('EtaBasePage.no_search')" size="mini"/>
 							</div>
 						</el-table>
 						<ul class="value-ul" v-show="dataList.length && status === 2">
@@ -98,9 +101,9 @@
 					</div>
 					<div class="dia-bot">
 						<el-button type="primary" v-if="status === 2" @click="addTargtHandler" 
-						:disabled="!tableData.length">下一步
+						:disabled="!tableData.length"><!-- 下一步 -->{{$t('EtaBasePage.next_step')}}
 						</el-button>
-						<el-button type="primary" v-else-if="[1,3].includes(status)" @click="cancelHandle">知道了</el-button>
+						<el-button type="primary" v-else-if="[1,3].includes(status)" @click="cancelHandle"><!-- 知道了 -->{{$t('MsgPrompt.known')}}</el-button>
 					</div>
 				</template>
 			</div>
@@ -115,7 +118,7 @@
                 <td v-for="(data, sub_index) in edbIndexDatas" :key="sub_index" :colspan="2" 
 								:class="highLightIndex.includes(data.EdbName) && item=='EdbName' ?'exist-highlight':''">
 									<template v-if="item === 'ClassifyId'">
-										<el-cascader :options="options" v-model="data[item]" placeholder="请选择所属目录"
+										<el-cascader :options="options" v-model="data[item]" :placeholder="$t('Edb.InputHolderAll.input_menu')"
 										size="mini" :disabled="!data.Source"
 										:props="{label: 'ClassifyName',
 											value: 'ClassifyId',
@@ -129,19 +132,19 @@
 										:disabled="!data.Source"
 											v-model.trim="data[item]"
 											:fetch-suggestions="querySearchUnit"
-											placeholder="请输入单位"
+											:placeholder="$t('Edb.InputHolderAll.input_unit')"
 											suffix-icon="el-icon-arrow-down"
 											size="mini"
 										></el-autocomplete>
 									</template>
 									<template v-else-if="item === 'Frequency'">
-										<el-select v-model="data[item]" placeholder="请选择频度" size="mini" :disabled="!data.Source">
+										<el-select v-model="data[item]" :placeholder="$t('Edb.InputHolderAll.input_fre')" size="mini" :disabled="!data.Source">
 											<el-option :label="item" :value="item"
 											v-for="item in frequencyArr" :key="item"></el-option>
 										</el-select>
 									</template>
 									<template v-else-if="item === 'EdbName'">
-										<el-input v-model.trim="data[item]" placeholder="请输入指标名称" size="mini" :disabled="!data.Source"></el-input>
+										<el-input v-model.trim="data[item]" placeholder="$t('Edb.InputHolderAll.input_name')" size="mini" :disabled="!data.Source"></el-input>
 									</template>
 									<template v-else>
 										<div style="padding: 0 7px;">{{ data[item] }}</div>
@@ -153,19 +156,19 @@
 							<tr v-for="(item,index) in edbIndexDatas[0].DataList.length" :key="index">
 								<td :rowspan="edbIndexDatas[0].DataList.length" v-if="index==0"
 								class="sticky" style="left: 0;text-align: center;">
-									数据详情
+									<!-- 数据详情 -->{{$t('Edb.data_detail_tab')}}
 								</td>
 								<template v-for="(item1,index1) in edbIndexDatas.length">
-									<td>{{ edbIndexDatas[index1].DataList[index].DataTime }}</td>
-									<td>{{ edbIndexDatas[index1].DataList[index].Value }}</td>
+									<td :key="index1">{{ edbIndexDatas[index1].DataList[index].DataTime }}</td>
+									<td :key="index1">{{ edbIndexDatas[index1].DataList[index].Value }}</td>
 								</template>
               </tr>
             </tbody>
           </table>
         </div>
 				<div class="dia-bot">
-					<el-button @click="wsdPrevHandle" style="width: 120px;">上一步</el-button>
-					<el-button type="primary" @click="wsdSaveHandle" style="width: 120px;margin-left: 50px;">保存</el-button>
+					<el-button @click="wsdPrevHandle" style="width: 120px;"><!-- 上一步 -->{{$t('Edb.prev_step')}}</el-button>
+					<el-button type="primary" @click="wsdSaveHandle" style="width: 120px;margin-left: 50px;"><!-- 保存 -->{{$t('Dialog.confirm_save_btn')}}</el-button>
 				</div>
 			</template>
 		</el-dialog>
@@ -174,13 +177,13 @@
 			width="600px" title="操作提示">
 			<div class="check-fail-box">
 				<div>
-					<div style="margin-bottom: 20px;">指标库中已存在以下指标,请勿重新输入!</div>
-					<div v-for="(item,index) in existIndexList" class="exist-index-item" @click="existIndexClick(item)">
+					<div style="margin-bottom: 20px;"><!-- 指标库中已存在以下指标,请勿重新输入! -->{{$t('EtaBasePage.exist_edb_tips')}}</div>
+					<div v-for="(item,index) in existIndexList" class="exist-index-item" @click="existIndexClick(item)" :key="index">
 						{{ index+1+'、'+item.text }}
 					</div>
 				</div>
 				<div class="check-fail-button">
-					<el-button type="primary" @click="checkFailShow=false" style="width: 120px;">知道了</el-button>
+					<el-button type="primary" @click="checkFailShow=false" style="width: 120px;">{{$t('MsgPrompt.known')}}</el-button>
 				</div>
 			</div>
 		</el-dialog>
@@ -220,9 +223,9 @@ export default {
 		},
 		indexCodeHintText(){
 			if(this.fromType=='wind'){
-				return 'Wind金融终端输入“CG”会弹出代码生成器,可在代码生成器上获取其他指标的代码'
+				return this.$t('EtaBasePage.edb_wind_tip')
 			}else if(this.fromType=='同花顺'){
-				return '可用Excel同花顺插件/日期序列功能,根据所选指标获取指标代码,期货和股票常用代码可在下方勾选'
+				return this.$t('EtaBasePage.edb_ifind_tip')
 			}
 		}
 	},
@@ -238,22 +241,22 @@ export default {
 			fromArr:[],
 			indexCodeSelected:[],
 			databaseType:[
-				{value:'0',label:'经济数据库'},
-				{value:'1',label:'日期序列'}
+				{value:'0',label:this.$t('EtaBasePage.econ_base')},
+				{value:'1',label:this.$t('EtaBasePage.date_serie')}
 			],
 			wsdAddStep:1,
 			fromCode:[],
 			tableColums: [
 				{
-					label: '指标ID',
+					label: this.$t('Edb.Detail.e_id'),
 					key: 'EdbCode'
 				},
 				{
-					label: '起始时间',
+					label: this.$t('Edb.Detail.e_start_time'),
 					key: 'StartDate'
 				},
 				{
-					label: '终止时间',
+					label: this.$t('Edb.Detail.e_end_time'),
 					key: 'EndDate'
 				},
 			],
@@ -281,12 +284,12 @@ export default {
         "EdbCode",
       ],
 			edbTableHeadData:new Map([
-				["ClassifyId", "所属目录"],
-				["Unit", "单位"],
-				["Frequency", "频度"],
-				["EdbName", "指标名称"],
-				["StockCode", "证券代码"],
-				["EdbCode", "指标代码"],
+				["ClassifyId", /* "所属目录" */this.$t('EtaBasePage.belong_menu')],
+				["Unit", /* "单位" */this.$t('Edb.Detail.e_unit')],
+				["Frequency", /* "频度" */this.$t('Edb.Detail.e_fre')],
+				["EdbName", /* "指标名称" */this.$t('Edb.Detail.e_name')],
+				["StockCode", /* "证券代码" */this.$t('Edb.Detail.e_stock_code')],
+				["EdbCode", /* "指标代码" */this.$t('Edb.Detail.e_code')],
 			]),
 			BatchList:[],
 			options:[],
@@ -299,8 +302,8 @@ export default {
 			// 同花顺常用指标类型
 			THSIndexCodeType:1,
 			THSIndexCodeTypeArr:[
-				{value:1,label:"期货常用指标"},
-				{value:2,label:"股票常用指标"}
+				{value:1,label:this.$t('EtaBasePage.future_common_edb')},
+				{value:2,label:this.$t('EtaBasePage.stock_common_edb')}
 			]
 		};
 	},
@@ -343,16 +346,19 @@ export default {
 			console.info(this.search_txt);
 			if (this.fromType == "彭博财务") {
 				if (!this.search_company_txt) {
-					this.$message.warning('请输入公司ID')
+					// this.$message.warning('请输入公司ID')
+					this.$message.warning(this.$t('EtaBasePage.no_companyid_msg'))
 					return
 				}
 				if (!this.search_txt) {
-					this.$message.warning('请输入指标ID')
+					// this.$message.warning('请输入指标ID')
+					this.$message.warning(this.$t('EtaBasePage.no_edbid_msg'))
 					return
 				}
 			} else {
 				if (!this.search_txt) {
-					this.$message.warning('请输入指标ID')
+					// this.$message.warning('请输入指标ID')
+					this.$message.warning(this.$t('EtaBasePage.no_edbid_msg'))
 					return
 				}
 			}
@@ -423,7 +429,8 @@ export default {
 					}
 				})
 			} else {
-				this.$message.warning('请输入指标ID')
+				// this.$message.warning('请输入指标ID')
+				this.$message.warning(this.$t('EtaBasePage.no_edbid_msg'))
 			}
 		}),
 		addTargtHandler() {

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

@@ -28,14 +28,14 @@
 							@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" plain size="mini" class="btn-sty" @click="openDateDia">{{
 					dateTip
 				}}</el-button>
 				<el-button type="primary" plain size="mini" class="btn-sty" @click="showOnChart('toggle')" v-if="!isOnlyShowBaseChart&&isShowChartBasis">
 					<!-- <i class="el-icon-view"></i> -->
-					{{ isShowOnyearData ? '隐藏同比图' : '展示同比图'}}
+					{{ isShowOnyearData ? $t('Edb.hide_yearonyear') : $t('Edb.show_yearonyear')}}
 				</el-button>
 			</template>
 			<!-- 季节图时间选择 -->
@@ -55,7 +55,7 @@
 			<el-button type="primary" plain size="mini" class="btn-sty" style="margin-left:auto;"
 				@click="chartTypeChange" v-if="!isOnlyShowBaseChart&&isAllowSwitchSeason">
 				<i class="el-icon-sort" style="transform: rotate(90deg);"></i>
-				切换{{chart_type==1?'季节性图':'曲线图'}}
+				{{chart_type==1?$t('Edb.switch_season'):$t('Edb.switch_curve')}}
 			</el-button>
 		</div>
 		<div class="min-wrapper">
@@ -109,8 +109,8 @@
 							v-if="chart_type===2"
 							@change="getDataByPath"
 					>
-							<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>
 			</div>

+ 19 - 18
src/views/dataEntry_manage/databaseComponents/completeTargetDia.vue

@@ -11,36 +11,36 @@
 		v-dialogDrag>
 			<div slot="title" style="display:flex;alignItems:center;">
 				<img :src="$icons.edit" style="color:#fff;width:16px;height:16px;marginRight:5px;">
-				<span style="fontSize:16px;">完善信息</span>
+				<span style="fontSize:16px;">{{$t('EtaBasePage.complate_info')}}</span>
 			</div>
 			<div class="dialog-main">
 				<el-form
 				ref="targetForm"
 				label-position="left"
-				label-width="80px"
+				label-width="110px"
 				hide-required-asterisk
 				:model="formData"
 				:rules="formRules">
-					<el-form-item label="指标名称" prop="edb_name">
+					<el-form-item :label="$t('Edb.Detail.e_name')" prop="edb_name">
 						<el-input
 						v-model="formData.edb_name"
 						style="width: 80%"
-						placeholder="指标名称"></el-input>
+						:placeholder="$t('Edb.InputHolderAll.input_name')"></el-input>
 					</el-form-item>
-					<el-form-item label="所属目录" prop="menu">
+					<el-form-item :label="$t('Edb.Detail.e_menu')" prop="menu">
 						<el-cascader
 						v-model="formData.menu"
 						:options="options"
 						:props="levelProps"
 						style="width: 80%"
 						clearable
-						placeholder="请选择所属目录"/>
+						:placeholder="$t('Edb.InputHolderAll.input_menu')"/>
 					</el-form-item>
-					<el-form-item label="频率" prop="frequency">
-						<span slot="label">频&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;率</span>
+					<el-form-item :label="$t('Edb.Detail.e_fre')" prop="frequency">
+						<!-- <span slot="label">频&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;率</span> -->
 						<el-select 
 						v-model="formData.frequency" 
-						placeholder="请选择频率" 
+						:placeholder="$t('Edb.InputHolderAll.input_fre')"
 						style="width:80%" 
 						clearable>
 							<el-option
@@ -51,15 +51,15 @@
 							</el-option>
 						</el-select>
 					</el-form-item>
-					<el-form-item label="单位" prop="unit">
-						<span slot="label">单&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;位</span>
+					<el-form-item :label="$t('Edb.Detail.e_unit')" prop="unit">
+						<!-- <span slot="label">单&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;位</span> -->
 						<selectUnit v-model="formData.unit" style="width: 80%" />
 					</el-form-item>
 				</el-form>
 			</div>
 			<div class="dia-bot">
-				<el-button type="primary" style="margin-right:20px" @click="addTarget">保存</el-button>
-				<el-button type="primary" plain @click="cancelHandle">取消</el-button>
+				<el-button type="primary" style="margin-right:20px" @click="addTarget"><!-- 保存 -->{{$t('Dialog.confirm_save_btn')}}</el-button>
+				<el-button type="primary" plain @click="cancelHandle"><!-- 取消 -->{{$t('Dialog.cancel_btn')}}</el-button>
 			</div>
 		</el-dialog>
 	</div>
@@ -68,6 +68,7 @@
 <script>
 import { dataBaseInterface } from '@/api/api.js';
 import { unitArr } from '@/utils/defaultOptions';
+import { frequencyArr } from './util'
 export default {
 	name:'',
 	props: {
@@ -99,16 +100,16 @@ export default {
 			},
 			formRules: {
 				edb_name:[
-					{ required: true, message: '指标名称不能为空', trigger: 'blur' },
+					{ required: true, message: this.$t('Edb.Valids.name_msg'), trigger: 'blur' },
 				],
 				menu:[
-					{ required: true, message: '所属目录不能为空', trigger: 'blur' },
+					{ required: true, message: this.$t('Edb.Valids.menu_msg'), trigger: 'blur' },
 				],
 				frequency:[
-					{ required: true, message: '频率不能为空', trigger: 'blur' },
+					{ required: true, message: this.$t('Edb.Valids.fre_msg'), trigger: 'blur' },
 				],
 				unit:[
-					{ required: true, message: '单位不能为空', trigger: ['blur','change'] },
+					{ required: true, message: this.$t('Edb.Valids.unit_msg'), trigger: ['blur','change'] },
 				],
 			},
 			options:  [],
@@ -119,7 +120,7 @@ export default {
 				children: 'Children',
 				checkStrictly: true
 			},
-			frequencyArr:['日度','周度','旬度','月度','季度','年度']
+			frequencyArr
 		};
 	},
 	methods: {

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

@@ -1,7 +1,7 @@
 <template>
     <div class="associate-chart">
         <div v-if="list.length===0&&finished" style="text-align:center;display:block" class="empty-list">
-            <tableNoData text="该指标暂无关联图"/>
+            <tableNoData :text="$t('EtaBasePage.no_quote_chart')"/>
         </div>
         <template v-else>
         <p style="position:relative;font-size:16px">共 {{chartTotal}} 张图表</p>

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

@@ -46,17 +46,17 @@
                 >
                 </template>
             </el-table-column>
-            <el-table-column label="操作" key="Copy" align="center" width="110">
+            <el-table-column :label="$t('Edb.Detail.e_opera')" key="Copy" align="center" width="110">
                 <template slot-scope="scope">
                 <span v-permission="permissionBtn.edbDataPermission.edbData_copyData"
                 class="editsty" @click="copyCode(scope.row)">
-                    <i class="el-icon-document-copy" />&nbsp;复制数据</span
+                    <i class="el-icon-document-copy" />&nbsp;{{$t('Edb.detail_copydata_btn')}}</span
                 >
-                <span class="editsty" @click="viewTarget(scope.row)">查看数据</span>
+                <span class="editsty" @click="viewTarget(scope.row)">{{$t('Edb.detail_lookdata_btn')}}</span>
                 </template>
             </el-table-column>
             <div slot="empty">
-                <tableNoData text="暂无引用的计算指标" size="mini"/>
+                <tableNoData :text="$t('EtaBasePage.no_quote_edb')" size="mini"/>
             </div>
         </el-table>
         <el-pagination 

+ 12 - 12
src/views/dataEntry_manage/databaseComponents/replaceDialog.vue

@@ -15,24 +15,24 @@
         :src="$icons.editicon"
         style="color: #fff; width: 16px; height: 16px; marginright: 5px"
       />
-      <span style="font-size: 16px">&nbsp;替换指标</span>
+      <span style="font-size: 16px">&nbsp;<!-- 替换指标 -->{{$t('EtaBasePage.replace_edb_btn')}}</span>
     </div>
     <el-form
       ref="diaForm"
       class="form-cont"
       label-position="left"
-      label-width="80px"
+      label-width="120px"
       :model="formData"
       :rules="formRules"
     >
-			<el-form-item label="原指标" prop="oldEdb">
+			<el-form-item :label="$t('EtaBasePage.origin_edb')" prop="oldEdb">
 				<el-select
 				v-model="formData.oldEdb"
 				v-loadMore="searchLoad"
 				:filterable="!formData.oldEdb"
 				remote
 				clearable
-				placeholder="指标ID/指标名称"
+				:placeholder="$t('EtaBasePage.search_placeholder')"
 				style="width: 440px"
 				:remote-method="searchHandle"
 				@click.native="inputFocusHandle"
@@ -51,14 +51,14 @@
 					</el-option>
 				</el-select>
 			</el-form-item>
-			<el-form-item label="替换为" prop="newEdb">
+			<el-form-item :label="$t('EtaBasePage.replace')" prop="newEdb">
 				<el-select
 				v-model="formData.newEdb"
 				v-loadMore="searchLoad"
 				:filterable="!formData.newEdb"
 				remote
 				clearable
-				placeholder="指标ID/指标名称"
+				:placeholder="$t('EtaBasePage.search_placeholder')"
 				style="width: 440px"
 				:remote-method="searchHandle"
 				@click.native="inputFocusHandle"
@@ -83,11 +83,11 @@
         type="primary"
         style="margin-right: 20px"
         @click="saveHandle"
-        >全部替换</el-button
+        ><!-- 全部替换 -->{{$t('EtaBasePage.replace_all')}}</el-button
       >
-      <el-button type="primary" plain @click="cancelHandle">取消</el-button>
+      <el-button type="primary" plain @click="cancelHandle"><!-- 取消 -->{{$t('Dialog.cancel_btn')}}</el-button>
     </div>
-		<p class="tip">提示:替换后,图表和计算指标引用到原指标的会全部由替换指标替代</p>
+		<p class="tip">{{$t('EtaBasePage.replace_tip')}}</p>
   </el-dialog>
 </template>
 
@@ -107,10 +107,10 @@ export default {
 			},
 			formRules: {
 				oldEdb:[
-					{ required: true, message: '原指标不能为空', trigger: 'blur' },
+					{ required: true, message: this.$t('EtaBasePage.input_origin_vaild'), trigger: 'blur' },
 				],
 				newEdb:[
-					{ required: true, message: '替换指标不能为空', trigger: 'blur' },
+					{ required: true, message: this.$t('EtaBasePage.input_replace_vaild'), trigger: 'blur' },
 				],
 			},
 			allOptions: [],
@@ -166,7 +166,7 @@ export default {
     saveHandle() {
       this.$refs.diaForm.validate((valid) => {
         if (valid) {
-					this.$confirm('本次替换将持续较长时间,是否确认替换?', '提示', {
+					this.$confirm(this.$t('EtaBasePage.replace_success_msg'), '提示', {
 						confirmButtonText: '是',
 						cancelButtonText: '否',
 						type: 'warning'

+ 44 - 42
src/views/dataEntry_manage/databaseComponents/util.js

@@ -1,25 +1,27 @@
+import bus from '@/api/bus'
+// console.log(bus.$i18nt.t('EtaBasePage.future_common_edb'))
 /* 公用校验 计算指标 */
 export const formRules= {
 	targetName: [
-		{ required: true, message: '指标名称不能为空', trigger: 'blur' },
+		{ required: true, message: bus.$i18nt.t('Edb.Valids.name_msg'), trigger: 'blur' },
 	],
 	unit: [
-		{ required: true, message: '单位不能为空', trigger: ['blur','change'] },
+		{ required: true, message: /* '单位不能为空' */bus.$i18nt.t('Edb.Valids.unit_msg'), trigger: ['blur','change'] },
 	],
 	menu: [
-		{ required: true, message: '指标目录不能为空', trigger: 'blur' },
+		{ required: true, message: /* '指标目录不能为空' */bus.$i18nt.t('Edb.Valids.menu_msg'), trigger: 'blur' },
 	],
 	frequency: [
-		{ required: true, message: '频度不能为空', trigger: 'blur' },
+		{ required: true, message: /* '频度不能为空' */bus.$i18nt.t('Edb.Valids.fre_msg'), trigger: 'blur' },
 	],
 	n_num: [
-		{ required: true, message: 'N不能为空', trigger: 'blur' },
+		{ required: true, message: /* 'N不能为空' */bus.$i18nt.t('Edb.Valids.n_msg'), trigger: 'blur' },
 	],
 	moveVal: [
-		{ required: true, message: '移动方式参数不能为空',trigger: 'blur' }
+		{ required: true, message: /* '移动方式参数不能为空' */bus.$i18nt.t('Edb.Valids.move_msg'),trigger: 'blur' }
 	],
 	calendar_type: [
-		{ required: true, message: '日历不能为空',trigger: 'blur' }
+		{ required: true, message: /* '日历不能为空' */bus.$i18nt.t('Edb.Valids.calendar_msg'),trigger: 'blur' }
 	],
 	alphaValue:[
 		{ validator:(rule,value,callback)=>{
@@ -29,7 +31,7 @@ export const formRules= {
 				callback()
 			}
 		},trigger:['change','blur']},
-		{ required:true,message:'alpha值不能为空',trigger:'blur'},
+		{ required:true,message:/* 'alpha值不能为空' */bus.$i18nt.t('Edb.Valids.alpha_msg'),trigger:'blur'},
 	]
 }
 
@@ -443,46 +445,46 @@ export const formulaTip = new Map([
 
 // wind 日期序列常见指标代码
 export const windCommonIndexCodeArr=[
-	{value:'pre_close',label:"前收盘价"},
-	{value:'open',label:"开盘价"},
-	{value:'high',label:"最高价"},
-	{value:'low',label:"最低价"},
-	{value:'close',label:"收盘价"},
-	{value:'settle',label:"结算价"},
-	{value:'volume',label:"成交量"},
-	{value:'amt',label:"成交额"},
-	{value:'pct_chg',label:"涨跌幅"},
-	{value:'swing',label:"振幅"},
-	{value:'turn',label:"换手率"},
-	{value:'oi',label:"持仓量"},
-	{value:'oiamount',label:"持仓额"}
+	{value:'pre_close',label:bus.$i18nt.t('EtaBasePage.pre_price')},
+	{value:'open',label:bus.$i18nt.t('EtaBasePage.pre_price')/* "开盘价" */},
+	{value:'high',label:bus.$i18nt.t('EtaBasePage.high_price')/* "最高价" */},
+	{value:'low',label:bus.$i18nt.t('EtaBasePage.low_price')/* "最低价" */},
+	{value:'close',label:bus.$i18nt.t('EtaBasePage.close_price')/* "收盘价" */},
+	{value:'settle',label:bus.$i18nt.t('EtaBasePage.settle_price')/* "结算价" */},
+	{value:'volume',label:bus.$i18nt.t('EtaBasePage.trade_volume')/* "成交量" */},
+	{value:'amt',label:bus.$i18nt.t('EtaBasePage.turnover')/* "成交额" */},
+	{value:'pct_chg',label:bus.$i18nt.t('EtaBasePage.incre_decre')/* "涨跌幅" */},
+	{value:'swing',label:bus.$i18nt.t('EtaBasePage.fluctua')/* "振幅" */},
+	{value:'turn',label:bus.$i18nt.t('EtaBasePage.turn_rate')/* "换手率" */},
+	{value:'oi',label:bus.$i18nt.t('EtaBasePage.open_inter')/* "持仓量" */},
+	{value:'oiamount',label:bus.$i18nt.t('EtaBasePage.open_val')/* "持仓额" */}
 ]
 
 // 同花顺 日期序列常见 股票指标代码
 export const THSCommonIndexStockCodeArr=[
-	{value:'ths_pre_close_stock',label:"前收盘价"},
-	{value:'ths_open_price_stock',label:"开盘价"},
-	{value:'ths_high_price_stock',label:"最高价"},
-	{value:'ths_low_stock',label:"最低价"},
-	{value:'ths_close_price_stock',label:"收盘价"},
-	{value:'ths_vol_stock',label:"成交量"},
-	{value:'ths_amt_stock',label:"成交额"},
-	{value:'ths_chg_ratio_stock',label:"涨跌幅"},
-	{value:'ths_swing_stock',label:"振幅"},
-	{value:'ths_turnover_ratio_stock',label:"换手率"},
+	{value:'ths_pre_close_stock',label:bus.$i18nt.t('EtaBasePage.pre_price')/* "前收盘价" */},
+	{value:'ths_open_price_stock',label:bus.$i18nt.t('EtaBasePage.op_price')/* "开盘价" */},
+	{value:'ths_high_price_stock',label:bus.$i18nt.t('EtaBasePage.high_price')/* "最高价" */},
+	{value:'ths_low_stock',label:bus.$i18nt.t('EtaBasePage.low_price')/* "最低价" */},
+	{value:'ths_close_price_stock',label:bus.$i18nt.t('EtaBasePage.close_price')/* "收盘价" */},
+	{value:'ths_vol_stock',label:bus.$i18nt.t('EtaBasePage.trade_volume')/* "成交量" */},
+	{value:'ths_amt_stock',label:bus.$i18nt.t('EtaBasePage.turnover')/* "成交额" */},
+	{value:'ths_chg_ratio_stock',label:bus.$i18nt.t('EtaBasePage.incre_decre')/* "涨跌幅" */},
+	{value:'ths_swing_stock',label:bus.$i18nt.t('EtaBasePage.fluctua')/* "振幅" */},
+	{value:'ths_turnover_ratio_stock',label:bus.$i18nt.t('EtaBasePage.turn_rate')/* "换手率" */},
 ]
 
 // 同花顺 日期序列常见 指标代码
 export const THSCommonIndexFuturesCodeArr=[
-	{value:'ths_pre_close_future',label:"前收盘价"},
-	{value:'ths_open_price_future',label:"开盘价"},
-	{value:'ths_high_price_future',label:"最高价"},
-	{value:'ths_low_future',label:"最低价"},
-	{value:'ths_close_price_future',label:"收盘价"},
-	{value:'ths_settle_future',label:"结算价"},
-	{value:'ths_vol_future',label:"成交量"},
-	{value:'ths_amt_future',label:"成交额"},
-	{value:'ths_chg_ratio_future',label:"涨跌幅"},
-	{value:'ths_swing_d_future',label:"日振幅"},
-	{value:'ths_open_interest_future',label:"持仓量"},
+	{value:'ths_pre_close_future',label:bus.$i18nt.t('EtaBasePage.pre_price')/* "前收盘价" */},
+	{value:'ths_open_price_future',label:bus.$i18nt.t('EtaBasePage.op_price')/* "开盘价" */},
+	{value:'ths_high_price_future',label:bus.$i18nt.t('EtaBasePage.high_price')/* "最高价" */},
+	{value:'ths_low_future',label:bus.$i18nt.t('EtaBasePage.low_price')/* "最低价" */},
+	{value:'ths_close_price_future',label:bus.$i18nt.t('EtaBasePage.close_price')/* "收盘价" */},
+	{value:'ths_settle_future',label:bus.$i18nt.t('EtaBasePage.settle_price')/* "结算价" */},
+	{value:'ths_vol_future',label:bus.$i18nt.t('EtaBasePage.trade_volume')/* "成交量" */},
+	{value:'ths_amt_future',label:bus.$i18nt.t('EtaBasePage.turnover')/* "成交额" */},
+	{value:'ths_chg_ratio_future',label:bus.$i18nt.t('EtaBasePage.incre_decre')/* "涨跌幅" */},
+	{value:'ths_swing_d_future',label:bus.$i18nt.t('EtaBasePage.fluctua_day')/* "日振幅" */},
+	{value:'ths_open_interest_future',label:bus.$i18nt.t('EtaBasePage.open_inter')/* "持仓量" */},
 ]

+ 20 - 20
src/views/dataEntry_manage/databaseList.vue

@@ -3,15 +3,15 @@
 		<div class="database_top">
 			<div class="top-left">
 				<el-button v-permission="permissionBtn.edbDataPermission.edbData_addEdb"
-					type="primary" @click="addHandler">{{$t('EtaBasePage.add_edb_btn')}}</el-button>
+					type="primary" @click="addHandler"><!-- 添加指标 -->{{$t('EtaBasePage.add_edb_btn')}}</el-button>
 				<el-button v-permission="permissionBtn.edbDataPermission.edbData_calcuEdb"
-					type="primary" @click="addComputedHandler">{{$t('EtaBasePage.calculation_edb_btn')}}</el-button>
+					type="primary" @click="addComputedHandler"><!-- 计算指标 -->{{$t('EtaBasePage.calculation_edb_btn')}}</el-button>
 				<el-button v-permission="permissionBtn.edbDataPermission.edbData_replaceEdb"
-					type="primary" @click="replaceEdbHandler">{{$t('EtaBasePage.replace_edb_btn')}}</el-button>
+					type="primary" @click="replaceEdbHandler"><!-- 替换指标 -->{{$t('EtaBasePage.replace_edb_btn')}}</el-button>
 				<el-button v-permission="permissionBtn.edbDataPermission.edbData_codeRun"
-					type="primary" @click="$router.push({path: '/codecount'})">{{$t('EtaBasePage.algorithm_btn')}}</el-button>
+					type="primary" @click="$router.push({path: '/codecount'})"><!-- 代码运算 -->{{$t('EtaBasePage.algorithm_btn')}}</el-button>
 				<el-button v-permission="permissionBtn.edbDataPermission.edbData_dataAdjust"
-					type="primary" @click="$router.push({path: '/adjustdata'})">{{$t('EtaBasePage.adjustment_btn')}}</el-button>
+					type="primary" @click="$router.push({path: '/adjustdata'})"><!-- 数据调整 -->{{$t('EtaBasePage.adjustment_btn')}}</el-button>
 				<!-- <el-button v-permission="permissionBtn.edbDataPermission.edbData_batchUpdate"
 					type="primary" plain @click="updateHandler">一键刷新</el-button> -->
 			</div>
@@ -198,7 +198,7 @@
 			</div>
 			<!-- 指标图表列表 -->
 			<div class="main-right right list" id="right" v-show="isShowList">
-				<p>{{Total||0}}个指标</p>
+				<p>{{$t('EtaBasePage.total_show',{limit: Total||0})}}</p>
 				<div class="list-wrap" ref="listRef" @scroll="loadMoreHandle" v-if="Total">
 					<div class="chart-list-item-wrap">
 						<div class="list-item" v-for="item in chartList" :key="item.EdbInfoId">
@@ -211,7 +211,7 @@
 								<!-- <img :src="item.ChartImage"/> -->
 							</div>
 							<div class="info">
-								创建时间:{{item.CreateTime.substring(0,10)}}
+								{{$t('EtaBasePage.time_show')}}:{{item.CreateTime.substring(0,10)}}
 							</div>
 						</div>
 					</div>
@@ -279,14 +279,14 @@
 								ref="createChart"
 								@editEnName="openEnNameDia"/>
 							<div class="info">
-								<span>{{$t('Edb.source')}}:{{EdbData.SourceName}}</span>
-								<span>{{$t('Edb.Creator')}}:{{EdbData.SysUserRealName}}</span>
+								<span>{{$t('Edb.Detail.source')}}:{{EdbData.SourceName}}</span>
+								<span>{{$t('Edb.creater')}}:{{EdbData.SysUserRealName}}</span>
 							</div>
 							<ul class="value-ul"
 								v-show="showTable&&dataList.length">
 								<li class="value-item" style="background-color: #EBEFF6;">
-									<span style="width:240px">{{$t('Edb.e_date')}}({{$t('Edb.e_fre')}}:{{EdbData.Frequency}})</span>
-									<span style="flex:1;">{{$t('Edb.e_value')}}</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"
 									v-for="item in dataList.slice(0,3)"
@@ -301,7 +301,7 @@
 										<span :class="['value-style',{'predict-act': EdbData.DataInsertConfig.Date===item.DataTime}]">{{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>
 						<div class="list" v-show="activeTab==='Data'">
@@ -597,25 +597,25 @@ export default {
 			/*表格列 */
 			tableColumsOne: [
 				{
-					label: this.$t('Edb.e_id'),
+					label: this.$t('Edb.Detail.e_id'),
 					key: 'EdbCode',
 					minwidthsty: '150px'
 				},
 				{
-					label: this.$t('Edb.e_name'),
+					label: this.$t('Edb.Detail.e_name'),
 					key: 'EdbName',
 					enKey:'EdbNameEn',
 					inputTip:'点击输入英文指标名称',
 					minwidthsty: '200px'
 				},
 				{
-					label: this.$t('Edb.e_fre'),
+					label: this.$t('Edb.Detail.e_fre'),
 					key: 'Frequency',
 					enKey:'FrequencyEn',
 					widthsty: '100px'
 				},
 				{
-					label: this.$t('Edb.e_unit'),
+					label: this.$t('Edb.Detail.e_unit'),
 					key: 'Unit',
 					enKey:'UnitEn',
 					inputTip:'英文单位',
@@ -623,24 +623,24 @@ export default {
 					widthsty: '100px'
 				},
 				{
-					label: this.$t('Edb.source'),
+					label: this.$t('Edb.Detail.source'),
 					key: 'SourceName',
 					widthsty: '160px'
 				},
 			],
 			tableColumsTwo: [
 				{
-					label: this.$t('Edb.e_menu'),
+					label: this.$t('Edb.Detail.e_menu'),
 					key: 'Menu',
 					minwidthsty: '150px',
 				},
 				{
-					label: this.$t('Edb.e_start_time'),
+					label: this.$t('Edb.Detail.e_start_time'),
 					key: 'StartDate',
 					minwidthsty: '115px',
 				},
 				{
-					label: this.$t('Edb.e_update_time'),
+					label: this.$t('Edb.Detail.e_update_time'),
 					key: 'ModifyTime',
 					minwidthsty: '120px',
 				},

+ 9 - 9
src/views/dataEntry_manage/mixins/chartPublic.js

@@ -80,52 +80,52 @@ export const chartSetMixin = {
       },
       tableColums: [
         {
-          label: '指标名称',
+          label: this.$t('Edb.Detail.e_name'),
           key: 'EdbName',
           enKey:'EdbNameEn',
 					inputTip:'点击输入英文指标名称',
           minwidthsty: '150px',
         },
         {
-          label: '指标ID',
+          label: this.$t('Edb.Detail.e_id'),
           key: 'EdbCode',
           widthsty: '120px',
         },
         {
-          label: '更新频度',
+          label: this.$t('Edb.Detail.e_fre'),
           key: 'Frequency',
           enKey:'FrequencyEn',
           minwidthsty: '60px',
         },
         {
-          label: '单位',
+          label: this.$t('Edb.Detail.e_unit'),
           key: 'Unit',
           enKey:'UnitEn',
 					inputTip:'英文单位',
           minwidthsty: '50px',
         },
         {
-          label: '起始时间',
+          label: this.$t('Edb.Detail.e_start_time'),
           key: 'StartDate',
           minwidthsty: '100px',
         },
         {
-          label: '最新日期',
+          label: this.$t('Edb.Detail.e_latest_date'),
           key: 'LatestDate',
           minwidthsty: '90px',
         },
         {
-          label: '最新值',
+          label: this.$t('Edb.Detail.e_latest_value'),
           key: 'LatestValue',
           minwidthsty: '90px',
         },
         {
-          label: '最近更新',
+          label: this.$t('Edb.Detail.e_recent_time'),
           key: 'ModifyTime',
           minwidthsty: '100px',
         },
         {
-          label: '数据来源',
+          label: this.$t('Edb.Detail.source'),
           key: 'SourceName',
         },
       ],//表格列