jwyu 1 年之前
父節點
當前提交
65ed94be73

+ 9 - 9
src/components/edbDetailPopover.vue

@@ -34,15 +34,15 @@ export default {
   data() {
     return {
       keysLabel: {
-        'EdbName': '指标名称',
-        'EdbCode': '指标ID',
-        'Frequency': '更新频度',
-        'Unit': '单位',
-        'StartDate': '起始时间',
-        'LatestDate': '最新日期',
-        'LatestValue': '最新值',
-        'ModifyTime': '最近更新',
-        'SourceName': '数据来源',
+        'EdbName': /* '指标名称' */ this.$t('Edb.Detail.e_name'),
+        'EdbCode': /* '指标ID' */this.$t('Edb.Detail.e_id'),
+        'Frequency': /* '更新频度' */this.$t('Edb.Detail.e_fre'),
+        'Unit': /* '单位' */this.$t('Edb.Detail.e_unit'),
+        'StartDate': /* '起始时间' */this.$t('Edb.Detail.e_start_time'),
+        'LatestDate': /* '最新日期' */this.$t('Edb.Detail.e_latest_date'),
+        'LatestValue': /* '最新值' */this.$t('Edb.Detail.e_latest_value'),
+        'ModifyTime': /* '最近更新' */this.$t('Edb.Detail.e_recent_time'),
+        'SourceName': /* '数据来源' */this.$t('Edb.Detail.source'),
       }
     };
   }

+ 8 - 4
src/lang/commonLang.js

@@ -24,6 +24,10 @@ export default {
       en:"Set",
       zh:'设置'
     },
+    require_vaild: {
+      en: 'Required Field',
+      zh: '必填项'
+    }
   },
   Table: {
     add_btn: {
@@ -98,6 +102,10 @@ export default {
       en: "Data Loading",
       zh: "数据加载中...",
     },
+    no_edb_msg: {
+      zh: '暂无指标',
+      en: 'No indicator'
+    },
   },
   Confirm: {
     prompt: {
@@ -170,10 +178,6 @@ export default {
       en: "The current protocol is not currently supported, only the HTTPS protocol is supported",
       zh: "当前协议暂不支持,仅支持https协议",
     },
-    http_not_support:{
-      en:'The current protocol is not currently supported, only the HTTPS protocol is supported',
-      zh:'当前协议暂不支持,仅支持https协议'
-    },
     move_sort_success:{
       en:'Rearranged successfully',
       zh:'移动排序成功'

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

@@ -61,6 +61,28 @@ export default {
     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',
+
+    /* 目录弹窗 */
+    parent_menu: 'Prev Catalogue',
+    menu_name: 'Catalogue Name',
+    input_menu_msg: 'Catalogue name cannot be empty',
+
+    /* 计算指标弹窗 */
+    normal_calculate_tab: 'Conventional Calculation',
+    batch_calculate_tab: 'Batch Calculation',
+    calculate_title: 'Calculation',
+    add_more_param: 'Add more parameters',
+    null_val_deal: '空值处理',
+    max_null_val: 'MAX、MIN空值处理',
+    calculate_formula: 'Calculation Formula',
+    input_formula_msg: 'Please input formula',
+    input_formula_valid: 'Calculation Formula can not be blank',
+    input_date_msg: 'Select date',
+    formula_examp: 'Formula Example',
+    func_examp: 'Function Support',
+    add_segm:'Add segment',
+    create_calculate_btn: 'Generate calculation index',
+    num_overrun_msg: '添加指标个数已达上限'
   },
 
   /* 代码运算页面 */

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

@@ -61,6 +61,29 @@ export default {
     replace_success_msg: '本次替换将持续较长时间,是否确认替换?',
     input_origin_vaild: '原指标不能为空',
     input_replace_vaild: '替换指标不能为空',
+
+    /* 目录弹窗 */
+    parent_menu: '上级目录',
+    menu_name: '目录名称',
+    input_menu_msg: '目录名称不能为空',
+
+    /* 计算指标弹窗 */
+    normal_calculate_tab: '常规计算',
+    batch_calculate_tab: '批量计算',
+    calculate_title: '计算指标',
+    add_more_param: '添加更多参数',
+    null_val_deal: '空值处理',
+    max_null_val: 'MAX、MIN空值处理',
+    calculate_formula: '计算公式',
+    input_formula_msg: '请输入公式',
+    input_formula_valid: '计算公式不能为空',
+    input_date_msg: '选择日期',
+    formula_examp: '公式示例',
+    func_examp: '函数支持',
+    add_segm:'新增分段',
+    create_calculate_btn: '生成计算指标',
+    num_overrun_msg: '添加指标个数已达上限'
+
   },
 
   /* 代码运算页面 */

+ 462 - 3
src/lang/modules/EtaBase/commonLang.js

@@ -1,5 +1,6 @@
 /* 指标相关的通用文字 
-  在最外层commonLang中用
+  在最外层commonLang中用 
+  $t('Edb.xxx')
 */
 
 export default {
@@ -91,6 +92,10 @@ export default {
     zh:'ETA预测指标',
     en:'ETA predictor index'
   },
+  formula_instru: {
+    zh:'公式说明',
+    en:'Formula Specification'
+  },
 
   /* 指标相关字段 */
   Detail: {
@@ -284,13 +289,13 @@ export default {
     },
     to_month_quarter: {
       zh: '累计值转月值/转季值',
-      en: 'Convert Cumulative Values to Monthly/Quarterly Values'
+      en: 'Convert Cumulative Values to Monthly/Quarterly'
     },
     to_month: {
       zh: '累计值转月值',
       en: 'Convert Cumulative Values to Monthly Values'
     },
-    to_month_quarter: {
+    to_quarter: {
       zh: '累计值转季值',
       en: 'Convert Cumulative Values to Quarterly Values'
     },
@@ -418,5 +423,459 @@ export default {
       zh: '请选择指标名称',
       en: 'Please select an indicator name'
     }
+  },
+  
+  /* 公示说明 */
+  FormulaTips: {
+    calculate: {
+      zh: `指标运算:<br>
+      1、选择指标参数<br>
+      2、生成指标的时间序列:以第一个指标为准,其他指标去匹配第一个指标的日期序列,没有值的,按照所选空值处理方式处理<br>
+      3、按照输入的计算公式进行计算`,
+      en: `Index calculation:<br>
+      1、Select index parameters<br>
+      2、生成指标的时间序列:以第一个指标为准,其他指标去匹配第一个指标的日期序列,没有值的,按照所选空值处理方式处理<br>
+      3、按照输入的计算公式进行计算`
+    },
+    to_month_quarter: {
+      zh: `1、累计值转月值计算方法:<br>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:45%">1月无值:1月=2月/2</span>
+        <span style="width:40%">1月有值:1月=1月</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">2月=2月/2</span>
+        <span style="width:40%">2月=2月-1月</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">3月=3月-2月</span>
+        <span style="width:40%">3月=3月-2月</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">4月=4月-3月</span>
+        <span style="width:40%">4月=4月-3月</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">以此类推</span>
+        <span style="width:40%">以此类推</span>
+      </p>
+      <p>特别说明:若1月和2月均无值,则该年不做计算</p>
+      2、累计值转季值计算方法:<br>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:45%">1季度无值:1季度=2季度/2 </span>
+        <span style="width:40%">1季度有值:1季度=1季度</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">2季度=2季度/2</span>
+        <span style="width:40%">2季度=2季度-1季度</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">3季度=3季度-2季度</span>
+        <span style="width:40%">3季度=3季度-2季度</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">4季度=4季度-3季度</span>
+        <span style="width:40%">4季度=4季度-3季度</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">以此类推</span>
+        <span style="width:40%">以此类推</span>
+      </p>
+      <p>特别说明:若1季度和2季度均无值,则该年不做计算</p>`,
+      en: `1、 Method for Converting Cumulative Values to Monthly Values:<br>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:45%"> Null in January:January=February/2</span>
+        <span style="width:40%">January has value:January=January</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">February=February/2</span>
+        <span style="width:40%">February=February-January
+        </span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">March=March-February</span>
+        <span style="width:40%">March=March-February</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">April=April-March</span>
+        <span style="width:40%">April=April-March</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">and so on</span>
+        <span style="width:40%">and so on</span>
+      </p>
+      <p> Special Instruction:If January and February are both with null value, it doesn't need to be calculated this year.</p>
+      2、Method for Converting Cumulative Values to Quarterly Values:<br>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:45%">Null in Q1:Q1=Q2/2</span>
+        <span style="width:40%">Q1 has value:Q1=Q2</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">Q2=Q2/2
+        </span>
+        <span style="width:40%"> Q2=Q2-Q1</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">Q3=Q3-Q2</span>
+        <span style="width:40%">Q3=Q3-Q2</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">Q4=Q4-Q3</span>
+        <span style="width:40%">Q4=Q4-Q3</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">and so on</span>
+        <span style="width:40%">and so on</span>
+      </p>
+      <p>Special Instruction: If Q1 and Q2 are both with null value, it doesn't need to be calculated this year.</p>`
+    },
+    to_month: {
+      zh: `累计值转月值计算方法:<br>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:45%">1月无值:1月=2月/2</span>
+        <span style="width:40%">1月有值:1月=1月</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">2月=2月/2</span>
+        <span style="width:40%">2月=2月-1月</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">3月=3月-2月</span>
+        <span style="width:40%">3月=3月-2月</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">4月=4月-3月</span>
+        <span style="width:40%">4月=4月-3月</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">以此类推</span>
+        <span style="width:40%">以此类推</span>
+      </p>
+      <p>特别说明:若1月和2月均无值,则该年不做计算</p>`,
+      en: `Method for Converting Cumulative Values to Monthly Values:<br>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:45%"> Null in January:January=February/2</span>
+        <span style="width:40%">January has value:January=January</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">February=February/2</span>
+        <span style="width:40%">February=February-January
+        </span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">March=March-February</span>
+        <span style="width:40%">March=March-February</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">April=April-March</span>
+        <span style="width:40%">April=April-March</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">and so on</span>
+        <span style="width:40%">and so on</span>
+      </p>
+      <p> Special Instruction:If January and February are both with null value, it doesn't need to be calculated this year.</p>`
+    },
+    to_quarter: {
+      zh: `累计值转季值计算方法:<br>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:45%">1季度无值:1季度=2季度/2 </span>
+        <span style="width:40%">1季度有值:1季度=1季度</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">2季度=2季度/2</span>
+        <span style="width:40%">2季度=2季度-1季度</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">3季度=3季度-2季度</span>
+        <span style="width:40%">3季度=3季度-2季度</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">4季度=4季度-3季度</span>
+        <span style="width:40%">4季度=4季度-3季度</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">以此类推</span>
+        <span style="width:40%">以此类推</span>
+      </p>
+      <p>特别说明:若1季度和2季度均无值,则该年不做计算</p>`,
+      en: `Method for Converting Cumulative Values to Quarterly Values:<br>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:45%">Null in Q1:Q1=Q2/2</span>
+        <span style="width:40%">Q1 has value:Q1=Q2</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">Q2=Q2/2
+        </span>
+        <span style="width:40%"> Q2=Q2-Q1</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">Q3=Q3-Q2</span>
+        <span style="width:40%">Q3=Q3-Q2</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">Q4=Q4-Q3</span>
+        <span style="width:40%">Q4=Q4-Q3</span>
+      </p>
+      <p style="display:flex;justify-content: space-between;">
+        <span style="width:40%">and so on</span>
+        <span style="width:40%">and so on</span>
+      </p>
+      <p>Special Instruction: If Q1 and Q2 are both with null value, it doesn't need to be calculated this year.</p>`
+    },
+    on_year: {
+      zh: `同比公式:今年同期/去年同期-1<br>
+      1、锁定当前数值对应的日期<br>
+      2、匹配上一年同期:寻找过去一年有数值的对应日期中,
+      与当前数值对应日期相等或者最为接近的那一天,如果有
+      两个日期与当前数值对应日期的距离相等,则取降序日期
+      排列下的第一个日期。<br>
+      3、取到匹配的上一年同期对应的数值<br>
+      4、将当期的数值与上一年匹配的同期的值计算比例<br>
+      5、将计算得到的比例填充至当前数值对应的日期,生成
+      新的数据序列<br>
+      6、遍历允许跨年,对于日度/周度/季度数据,遍历往前
+      最多35天,往后最多35天`,
+      en: `Year-over-Year Formula: (Current Period Value / Previous Period Value) - 1<br>
+      1、Lock the date corresponding to the current value.<br>
+      2、Match the same period in the previous year: Search for the date in the past year with a value that is equal to or closest to the current value's corresponding date. If there are two dates that are equidistant from the current value's corresponding date, select the first date under descending order.<br>
+      3、Retrieve the value corresponding to the matched same period of the previous year.<br>
+      4、Calculate the ratio between the current period's value and the matched value from the same period of last year.<br>
+      5、Fill in the calculated ratio into the date corresponding to the current value to generate a new data series.<br>
+      6、Allow iteration across years; for daily/weekly/quarterly data, iterate up to 35 days backward and forward at most.`
+    },
+    differ: {
+      zh: `同差公式:今年同期-去年同期<br>
+      1、锁定当前数值对应的日期<br>
+      2、匹配上一年同期:寻找过去一年有数值的对应日期中,
+      与当前数值对应日期相等或者最为接近的那一天,如果有
+      两个日期与当前数值对应日期的距离相等,则取降序日期
+      排列下的第一个日期。<br>
+      3、取到匹配的上一年同期对应的数值<br>
+      4、将当期的数值与上一年匹配的同期的值计算差值<br>
+      5、将计算得到的差值填充至当前数值对应的日期,生成
+      新的数据序列<br>
+      6、遍历允许跨年,对于日度/周度/季度数据,遍历往前
+      最多35天,往后最多35天`,
+      en: `Difference Value Formula: Value this year-Value last year<br>
+      1、Lock in the date corresponding to the current value.<br>
+      2、Match the same period from the previous year: Look for the date in the past year with a recorded value that is equal to or closest to the current value's corresponding date. If there are two dates equidistant from the current value's corresponding date, select the first date under a descending order arrangement.<br>
+      3、Retrieve the matched value from the same period of the previous year.<br>
+      4、Calculate the difference between the current period’s value and the matched value from the same period of last year.<br>
+      5、Fill in the calculated difference into the date corresponding to the current value, creating a new data series.<br>
+      6、Allow for traversal across years; for daily/weekly/quarterly data, traverse up to 35 days backward and 35 days forward.`
+    },
+    n_move_average: {
+      zh: `计算公式:=AVERAGE(N个数值的和),N为取数个数<br>
+      1、计算当前的数值的N值移动平均,则时间向前追溯
+      N个值(包括当前值),如果遇到空格值的日期,则自
+      动跳过空格数值,继续往前追溯<br>
+      2、如果当前日期对应的原始数据为空值,则N值移动
+      平均也为空值`,
+      en: `Calculation formula: =AVERAGE(Sum of N numerical values), where N is the number of values to be taken.<br>
+      1、To calculate the moving average of N values for the current value, go back in time for N values (including the current value). If a date with a blank value is encountered, automatically skip over the blank value and continue tracing back.<br>
+      2、If the original data corresponding to the current date is a blank value, then the moving average of N values will also be a blank value.`
+    },
+    n_rate: {
+      zh: `环比公式:(当期-上期)/上期<br>
+      1、选择当期对应值,若是当期值为空,则环比值为空;若当期有值,上期值往 前遍历查询,默认N等于1,找最近的一个上期值;可根据设置的N值选择最 近的第N个上期值 <br>
+      2、将当期的数值与匹配到的上期值按照公式进行计算 <br>
+      3、将计算得到值填充至当期数值对应的日期,生成新的 数据序列<br>
+      4、原始数据中出现0和负值时,提示该指标不能进行环比运算`,
+      en: ` Month-on-Month Formula: (Value of Current Period - Value of Previous Period) / Value of Previous Period<br>
+      1、Select the corresponding value for the current period. If the value for the current period is empty, then the month-on-month value will be empty as well. If there is a value for the current period, search backwards for the previous period's value, with the default N being 1 to find the nearest previous period's value. Based on the set N value, select the Nth closest previous period's value.<br>
+      2、Calculate using the formula by comparing the current period's value with the matched previous period's value.<br>
+      3、Fill in the calculated value into the date corresponding to the current period's value to generate a new data series.<br>
+      4、If zero and negative values appear in the original data, indicate that this indicator cannot be used for month-on-month calculations.`
+    },
+    n_differ: {
+      zh: `环差公式:当期-上期<br>
+      1、选择当期对应值,若是当期值为空,则环差值为空;若当期有值,上期值往 前遍历查询,默认N等于1,找最近的一个上期值;可根据设置的N值选择最 近的第N个上期值找到最近的一个上期值即可<br>
+      2、将当期的数值与匹配到的上期值按照公式进行计算<br>
+      3、将计算得到值填充至当期数值对应的日期,生成新的数据序列`,
+      en: `Period-over-Period Difference Calculation Formula: Value of current period-Value of previous period<br>
+      1、Select the corresponding value for the current period. If the current value is empty, then the difference from previous period value is empty as well; if there is a current value, search backwards for the previous period value, by default N equals 1, to find the nearest previous period value. You can choose the nearest Nth previous period value based on the set N value to find the nearest previous period value.<br>
+      2、Calculate according to the formula using the current period's numerical value and the matched previous period's value.<br>
+      3、Fill in the calculated values into the dates corresponding to the current period's numerical values to generate a new data series.`
+    },
+    up_conver: {
+      zh: `升频:支持转换所有频度指标为日度指标<br>
+      1、规则:若将月度指标转换为日度指标,如当前月为9月,但9月数据还未更新,假设9月数据是9.30更新,则9.1~9.29的数据等于8.31的数据<br>
+      2、其他频度规则相同`,
+      en: `Up-conversion:Support for converting all frequency metrics to daily metrics<br>
+      1、Rule: If converting monthly metrics to daily metrics, for instance, if the current month is September but the data for September has not been updated yet (assuming the data is refreshed on September 30th), then the data from September 1st to 29th should be equal to the data from August 31st.<br>
+      2、The rules for other frequencies are the same.`
+    },
+    splic: {
+      zh: `1、直接拼接说明:将指标A和指标B按照选取的拼接日期进行拼接;<br>
+      2、累计值同比拼接说明:指标A最后一个12月31日有值的年份数据乘以指标B的同比增长率得到指标A下一年的数据,从指标A最后一个12月31日有值的日期开始拼接计算得到指标A下一年的数据;`,
+      en: `1、直接拼接说明:将指标A和指标B按照选取的拼接日期进行拼接;<br>
+      2、累计值同比拼接说明:指标A最后一个12月31日有值的年份数据乘以指标B的同比增长率得到指标A下一年的数据,从指标A最后一个12月31日有值的日期开始拼接计算得到指标A下一年的数据;`
+    },
+    time_move: {
+      zh: `时间移位:把数据的时间序列加(领先)减(滞后)相应的时间,形成新的数据系列。<br>例:<br>
+      <p>
+        领先10天,即将指标每个数据点的日期加10天。原始数据点(2022-1-1,100)将转化成(2022-1-11,100)
+      </p>
+      <p>
+        滞后1月,即将日期减30天,原始数据点(2022-1-1,100)将转化成(2021-12-2,100)
+      </p>`,
+      en: `Time Shift:Shift the time series of data forward (lead) or backward (lag) by the corresponding time to form a new data series.<br>For example:<br>
+      <p>
+        Lead by 10 days, which means adding 10 days to the date of each data point of the indicator.the original data point (2022-1-1,100) will be transformed into (2022-1-11,100).
+      </p>
+      <p>
+        Lagging by one month, which means subtracting 30 days from the date, the original data point (2022-1-1,100) will be transformed into (2021-12-2,100).
+      </p>`
+    },
+    super_season: {
+      zh: `计算公式:现值 - AVERAGE(过去N年同期数值和),N为取数个数<br>
+      1、计算过去N年同期数值和,则时间向前追溯 N年(包括最新一年)<br>
+      2、参与计算的指标数据通过线性方程补全为日度的数据(包括周末)<br>
+      3、遇到闰二月,如2.29,去掉该天数据<br>
+      4、进行农历计算时,只计算11月--次年5月,如果当前月为12月,则取第二年的春节为时间位移标准点<br>
+      5、计算生成的结果的数据频度与原始指标频度保持一致`,
+      en: `Calculation Formula:Present Value - AVERAGE(Past N years of corresponding period values), where N is the number of data points to consider.<br>
+      1、To calculate the sum of corresponding period values over the past N years, time is traced back for N years (including the current year).<br>
+      2、The data points involved in the calculations are completed to daily values (including weekends) using a linear equation.<br>
+      3、In case of a leap February, such as February 29th, exclude data for that day.<br>
+      4、When performing lunar calendar calculations, if the current month is December, then use the Spring Festival of the following year as the reference point for time displacement.<br>
+      5、The data frequency of the resulting calculation should be consistent with that of the original indicator.`
+    },
+    fit_residu: {
+      zh: `拟合残差:计算一个指标(B)的实际值和拟合值(B’)的差值。拟合值B’由指标A(自变量)和指标B(因变量)通过线性回归拟合得到,具体算法如下:<br>
+      根据指标A(自变量)和指标B(因变量)过去一个时间段内(这个N期可以是从最新值往前倒退N期,包含最新,也可以是选取历史数据的一个时间段内的数据),生成线性回归方程 Y=aX+b<br>
+      由指标A(自变量)和拟合方程的系数a,b,计算得到拟合出来的系列B’=aA b 再计算拟合系列B’和原始系列B的差值得到新的数据系列Delta,Delta=B-B'`,
+      en: `Fitting Residuals:Compute the difference between the actual value of a metric (B) and its fitted value (B’). The fitted value B’ is obtained through linear regression fitting of metric A (independent variable) and metric B (dependent variable), using the following algorithm:<br>
+      Based on past data for a certain period (this period N can be counting backwards N periods from the most recent, including the latest, or it can be a selected historical time frame) of metrics A (independent variable) and B (dependent variable), generate a linear regression equation Y = aX + b.<br>
+      Using the independent variable A and coefficients a, b from the fitting equation, calculate the fitted series B’ = aA + b. Then compute the difference between the fitted series B’ and the original series B to obtain a new data series Delta, where Delta = B - B’.`
+    },
+    annual: {
+      zh: `年化值=S / a (S表示指标数值,a表示年化平均占比)<br>
+      1、读取指标最新值对应的日期T和指标数值S<br>
+      2、计算该指标在过去三年日期T对应的值与当年最后一个日期对应的值的比值,即截止到日期T的累计值占全年值的比重<br>
+      3、计算三年的占比平均值,即过去三年平均占比a<br>
+      4、若历史数据不足三年,则至少按两年计算,少于两年不生成年化值<br>
+      5、如果某一年日期T没有值,则通过日期T前后的两个值,用线性插值法【(Y-Y1)/(X-X1)=(Y2-Y1)/(X2-X1)】计算得到日期T的值
+      `,
+      en: `Annualized Value = S / a (where S is the value of the indicator, and a is the annual average proportion)<br>
+      1、Retrieve the latest date T for the indicator and its corresponding value S.<br>
+      2、Calculate the ratio of the cumulative value of the indicator up to date T for the past three years to the value on the last date of each year, which represents the proportion of the cumulative value to that of the whole year.<br>
+      3、Compute the average proportion for the past three years, which is the average annual proportion a.<br>
+      4、If historical data is less than three years, calculate using at least two years' worth; do not generate an annualized value if less than two years of data are available.<br>
+      5、If there is no value for date T in a particular year, use linear interpolation [(Y-Y1)/(X-X1)=(Y2-Y1)/(X2-X1)] based on values before and after date T to determine the value for date T.`
+    },
+    down_conver: {
+      zh: `降频:将高频指标转换为低频指标,需选择转换的频度<br>
+      1、选择转换的频度,日度可以选择降频成周度、旬度、月度、季度、年度;周度可以选择降频成旬度、月度、季度、年度;旬度可以选择降频成月度、季度、年度;月度可降成季度、年度,季度可降成年度<br>
+      2、降频后数据日期,周度的降频数据系列日期取每周五;旬度取每月10日、20日、最后一日;月度取每月最后一天,季度取季度最后一天,年度取年度最后一天<br>
+      3、数据点取值提供两种选择:a、期末值,取区间最后一个日期的数据值。b、取区间平均值。<br>
+      4、最新值的处理:最新的高频数据,正好处于所要降频的低频的两个日期之间时,例如当前1月3号,1月已经有了数据,但1月31号还未到来,则降成月频数据时最新数据日期为1月31号`,
+      en: `Downconversion:To convert high-frequency indicators into low-frequency indicators, the frequency of conversion must be chosen<br>
+      1、To select the conversion frequency, daily data can be downsampled to weekly, ten-day periods, monthly, quarterly, or yearly; weekly data can be downsampled to ten-day periods, monthly, quarterly, or yearly; ten-day period data can be downsampled to monthly, quarterly, or yearly; monthly data can be converted to quarterly or yearly frequencies, and quarterly data can be downsampled to yearly.<br>
+      2、After downsampling the data, for weekly frequency, the date of the data series is set as every Friday; for ten-day periods it's set as the 10th, 20th and the last day of each month; for monthly frequency it's the last day of the month; for quarterly frequency it's the last day of the quarter; and for yearly frequency it's the last day of the year.<br>
+      3、There are two options for selecting data points: a) End-of-period value, which is taken from the last date's data value within that interval. b) The average value over that interval.<br>
+      4、Treatment of most recent values: If the latest high-frequency data happens to fall between two dates used in downsampling to a lower frequency—for example, if today is January 3rd and there is already data for January but January 31st has not yet arrived—then when converting to a monthly frequency, the most recent data date would be set as January 31st.`
+    },
+    diff_index: {
+      zh: `扩散指数:AVERAGE(所选指标环差指数和)<br>
+      1、选择多个指标,设定扩散指标日期并集<br>
+      2、所选指标在日期并集内有缺失值的用前期值填充<br>
+      3、计算日期并集内所选指标的每期环差指数(环差>0,取1,环差=0,取0.5,环差<0,取0),并计算环差指数均值`,
+      en: `Diffusion Index: AVERAGE(Sum of Selected Indicators' Sequential Change Index)<br>
+      1、Select multiple indicators and set the union date for the diffusion indicators.<br>
+      2、If there are missing values for the selected indicators within the union date, fill them with previous values.<br>
+      3、Calculate the sequential change index for each period of the selected indicators within the union date (if sequential change > 0, take 1; if sequential change = 0, take 0.5; if sequential change < 0, take 0), and compute the average of the sequential change index.`
+    },
+    cumulate_and_toyear: {
+      zh: `1、累计值计算方法:<br>
+      日度转周度:日期选周五,计算上周六到本周五的日度值的加总,最新日期为最新值对应的周五。<br>
+      日度转月度:日期选每个月最后一天,计算当月所有日度值的加总,最新日期为最新值对应当月最后一天。<br>
+      日度转季度、年度:方法类似转月度。<br>
+      周度转月度/季度/年度:将周度值转成日度,空值用插值法插值,计算当月/当季/当年所有值的加总,然后除以7。<br>
+      月度转季度/年度: 当季/当年月度值相加。<br>
+      以此类推 特别说明:旬度指标可以转成更低频指标,更高频指标不能转成旬度<br>
+      2、年初至今计算方法:<br>
+      日度数据年初至今:日期同原日度数据。将每年1月1日(含)到日度数据所在日期(含)之间的日度值,进行加总。<br>
+      周度数据年初至今:日期同原周度数据。将周度值转成日度频率,空值用插值法插值,然后算法同日度年度至今,再除以7<br>
+      月度/季度数据年初至今:日期同原月度/季度数据,将每年1月1日(含)到月度数据所在日期(含)之间的月度/季度值,进行加总<br>
+      以此类推`,
+      en: `1、Cumulative Value Calculation Method:<br>
+      Daily to Weekly Conversion: Select Friday as the date, calculate the sum of daily values from the previous Saturday to this Friday, with the latest date being the Friday corresponding to the latest value.<br>
+      Daily to Monthly Conversion: Select the last day of each month as the date, calculate the sum of all daily values for that month, with the latest date being the last day of the month corresponding to the latest value.<br>
+      Daily to Quarterly and Annual Conversion: The method is similar to monthly conversion.<br>
+      Weekly to Monthly/Quarterly/Annual Conversion: Convert weekly values into daily values, interpolate missing values using interpolation methods, calculate the sum of all values for that month/quarter/year, and then divide by 7.<br>
+      Monthly to Quarterly/Annual Conversion: Sum up monthly values within a quarter/year.<br>
+      And so on. Special note: Ten-day period indicators can be converted into lower frequency indicators; higher frequency indicators cannot be converted into ten-day periods.<br>
+      2、Calculation Method for Year-to-Date Data:<br>
+      Daily data year-to-date: The date is the same as the original daily data. Sum up the daily values from January 1st (inclusive) to the date of the daily data (inclusive) for each year.<br>
+      Weekly data year-to-date: The date is the same as the original weekly data. Convert weekly values to daily frequency, use interpolation to fill in missing values, and then apply the same algorithm as for daily year-to-date. Finally, divide by 7.<br>
+      Monthly/Quarterly data year-to-date: The date is the same as the original monthly/quarterly data. Sum up the monthly/quarterly values from January 1st (inclusive) to the date of the monthly/quarterly data (inclusive) for each year.<br>
+      And so forth for other frequencies.`
+    },
+    cumulate_val: {
+      zh: `累计值计算方法:<br>
+      日度转周度:日期选周五,计算上周六到本周五的日度值的加总,最新日期为最新值对应的周五。<br>
+      日度转月度:日期选每个月最后一天,计算当月所有日度值的加总,最新日期为最新值对应当月最后一天。<br>
+      日度转季度、年度:方法类似转月度。<br>
+      周度转月度/季度/年度:将周度值转成日度,空值用插值法插值,计算当月/当季/当年所有值的加总,然后除以7。<br>
+      月度转季度/年度: 当季/当年月度值相加。<br>
+      以此类推 特别说明:旬度指标可以转成更低频指标,更高频指标不能转成旬度<br>`,
+      en: `Cumulative Value Calculation Method:<br>
+      Daily to Weekly Conversion: Select Friday as the date, calculate the sum of daily values from the previous Saturday to this Friday, with the latest date being the Friday corresponding to the latest value.<br>
+      Daily to Monthly Conversion: Select the last day of each month as the date, calculate the sum of all daily values for that month, with the latest date being the last day of the month corresponding to the latest value.<br>
+      Daily to Quarterly and Annual Conversion: The method is similar to monthly conversion.<br>
+      Weekly to Monthly/Quarterly/Annual Conversion: Convert weekly values into daily values, interpolate missing values using interpolation methods, calculate the sum of all values for that month/quarter/year, and then divide by 7.<br>
+      Monthly to Quarterly/Annual Conversion: Sum up monthly values within a quarter/year.<br>
+      And so on. Special note: Ten-day period indicators can be converted into lower frequency indicators; higher frequency indicators cannot be converted into ten-day periods.<br>`
+    },
+    cumulate_to_year: {
+      zh: `年初至今计算方法:<br>
+      日度数据年初至今:日期同原日度数据。将每年1月1日(含)到日度数据所在日期(含)之间的日度值,进行加总。<br>
+      周度数据年初至今:日期同原周度数据。将周度值转成日度频率,空值用插值法插值,然后算法同日度年度至今,再除以7<br>
+      月度/季度数据年初至今:日期同原月度/季度数据,将每年1月1日(含)到月度数据所在日期(含)之间的月度/季度值,进行加总<br>
+      以此类推`,
+      en: `Calculation Method for Year-to-Date Data:<br>
+      Daily data year-to-date: The date is the same as the original daily data. Sum up the daily values from January 1st (inclusive) to the date of the daily data (inclusive) for each year.<br>
+      Weekly data year-to-date: The date is the same as the original weekly data. Convert weekly values to daily frequency, use interpolation to fill in missing values, and then apply the same algorithm as for daily year-to-date. Finally, divide by 7.<br>
+      Monthly/Quarterly data year-to-date: The date is the same as the original monthly/quarterly data. Sum up the monthly/quarterly values from January 1st (inclusive) to the date of the monthly/quarterly data (inclusive) for each year.<br>
+      And so forth for other frequencies.`
+    },
+    ex_smooth: {
+      zh: `指数修匀计算公式:<br>
+      1、设定指数修匀值序列的初始值=原来时间序列的初始值 <br>
+      2、选择平滑系数alpha值:在0-1之间,开区间 <br>
+      3、本期指数修匀值=alpha*本期实际值+(1-alpha)*上期指数修匀值`,
+      en: `Exponential Smoothing Calculation Formula:<br>
+      1、Set the initial value of the exponential smoothing series to be equal to the initial value of the original time series.<br>
+      2、Select a smoothing constant alpha value: between 0 and 1, exclusive.<br>
+      3、Current exponential smoothing value = alpha * current actual value + (1 - alpha) * previous exponential smoothing value.`
+    },
+    day_mean: {
+      zh: `日均值计算公式:<br>
+      1、年度值转日均值=年度值/对应年份天数 <br>
+      2、半年度值转日均值=半年度值/对应半年度天数 <br>
+      3、季度值转日均值=季度值/对应季度天数 <br>
+      4、月度值转日均值=月度值/对应月度天数 <br>
+      5、旬度值转日均值=旬度值/对应旬度天数 <br>
+      6、周度值转日均值=周度值/7`,
+      en: `Daily Average Calculation Formula:<br>
+      1、Annual value to daily average = Annual value / Number of days in the corresponding year<br>
+      2、Semi-annual value to daily average = Semi-annual value / Number of days in the corresponding half-year<br>
+      3、Quarterly value to daily average = Quarterly value / Number of days in the corresponding quarter<br>
+      4、Monthly value to daily average = Monthly value / Number of days in the corresponding month<br>
+      5、Decadal (ten-day period) value to daily average = Decadal value / Number of days in the corresponding ten-day period<br>
+      6、Weekly value to daily average = Weekly value / 7`
+    },
+    adjust_data: {
+      zh: `数据调整:<br>1、将所选指标的历史数据经过调整后保存,该指标更新时将在调整数据的基础上更新最新数据;<br>
+      2、支持对所选指标添加未来的数据,指标更新到未来相同的日期时,进行数据更正;<br>
+      3、选中表格,使用“Ctrl+F”可调用快速查找功能,支持快速定位到表格中的数据;<br>
+      注:系统只取A、B列数据`,
+      en: `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.`
+    }
   }
 }

+ 1 - 1
src/views/dataEntry_manage/adjustdata/adjustData.vue

@@ -217,7 +217,7 @@ export default {
     excelOptions() {
       return {
         container: 'excel-container',
-        lang: 'zh', // 设定表格语言
+        lang: this.$i18nt.locale, // 设定表格语言
         showinfobar: false,//顶部info
         showsheetbar:false,//底部sheet页 暂禁止添加多个表格
         showtoolbarConfig:{

+ 26 - 26
src/views/dataEntry_manage/databaseComponents/computedDialog.vue

@@ -25,7 +25,7 @@
 						v-loadMore="searchLoad"
 						:filterable="!list.target"
 						clearable
-						placeholder="请输入指标名称"
+						:placeholder="$t('Edb.InputHolderAll.input_name')"
 						style="width: 400px"
 						@change="chooseTarget"
 						@clear="clearHandle(index)"
@@ -67,12 +67,12 @@
 					class="el-icon-circle-plus-outline"
 					style="color: #5882ef; font-size: 16px"
 				/>
-				添加更多参数
+				<!-- 添加更多参数 -->{{$t('EtaBasePage.add_more_param')}}
 			</span>
 			<div class="computed-min">
 				<div class="computed-section">
 					<div>
-						<label class="label">空值处理
+						<label class="label"><!-- 空值处理 -->{{$t('EtaBasePage.null_val_deal')}}
 							<el-tooltip placement="top">
 								<div slot="content" v-html="formTips['null-val']" style="width:300px;line-height:20px;"/>
 								<i class="el-icon-question"/>
@@ -94,7 +94,7 @@
 					</div>
 
 					<div style="margin-left: 120px" v-if="showMaxNullDeal">
-						<label class="label">MAX、MIN空值处理
+						<label class="label"><!-- MAX、MIN空值处理 --> {{$t('EtaBasePage.max_null_val')}}
 							<el-tooltip placement="top">
 								<div slot="content" v-html="formTips['max-null-val']" style="width:300px;line-height:20px;"/>
 								<i class="el-icon-question"/>
@@ -111,7 +111,7 @@
 					</div>
 				</div>	
 				<div class="computed-section">
-					<label class="label">计算公式
+					<label class="label"><!-- 计算公式 -->{{$t('EtaBasePage.calculate_formula')}}
 						<el-tooltip placement="top">
 							<div slot="content" v-html="formTips['formula']" style="width:300px;line-height:20px;"/>
 							<i class="el-icon-question"/>
@@ -121,16 +121,16 @@
 					</el-input> -->
 					<ul class="formula-list">
 						<li style="margin-bottom: 15px;">
-							<el-input placeholder="请输入公式" v-model="formulaList[0].formula" clearable :disabled="calulateForm.view" style="width: 220px"/>
+							<el-input :placeholder="$t('EtaBasePage.input_formula_msg')" v-model="formulaList[0].formula" clearable :disabled="calulateForm.view" style="width: 220px"/>
 							
 							<span v-if="formulaDateArr.length" class="date-section-text">{{formulaDateArr[formulaDateArr.length-1]}}(含)之后</span>
 
-							<span class="example-txt">公式示例:A*0.5+B*C*1.2+120-MAX(A,B,C) &nbsp;函数支持:MAX(),MIN(),ln(A),log(a,A),abs(),exp(),pow(),round()</span>
+							<span class="example-txt">{{$t('EtaBasePage.formula_examp')}}:A*0.5+B*C*1.2+120-MAX(A,B,C) &nbsp;{{$t('EtaBasePage.func_examp')}}:MAX(),MIN(),ln(A),log(a,A),abs(),exp(),pow(),round()</span>
 						</li>
 
 						<li class="formula-item" v-for="(item,index) in formulaList.slice(1)" :key="index+1">
 							<el-input 
-								placeholder="请输入公式" 
+								:placeholder="$t('EtaBasePage.input_formula_msg')"
 								v-model="item.formula" 
 								clearable 
 								:disabled="calulateForm.view"
@@ -142,7 +142,7 @@
 								type="date"
 								value-format="yyyy-MM-dd"
 								style="margin: 0 10px;width: 220px"
-								placeholder="选择日期"
+								:placeholder="$t('EtaBasePage.input_date_msg')"
 								:disabled="calulateForm.view"
 								@change="selectFormulaDate($event,item)"
 							/>
@@ -161,41 +161,41 @@
 					icon="el-icon-plus" 
 					style="margin-left:70px;" 
 					@click="addFormulaHandle"
-				>新增分段</el-button>
+				><!-- 新增分段 -->{{$t('EtaBasePage.add_segm')}}</el-button>
 
 			</div>
 			<el-form
 				ref="diaForm"
 				label-position="right"
 				inline
-				label-width="80px"
+				label-width="120px"
 				:model="formData"
 				:rules="formRules"
 				:disabled="calulateForm.view"
 			>
-				<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" />
 				</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"
 						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: 340px"
 						clearable
 					>
@@ -217,23 +217,23 @@
 				@click="saveHandle"
 				:loading="dataloading"
 				v-if="title==='计算指标'"
-				>生成计算指标</el-button
+				><!-- 生成计算指标 -->{{$t('EtaBasePage.create_calculate_btn')}}</el-button
 			>
 			<el-button
 				type="primary"
 				style="margin-right: 20px"
 				@click="saveHandle"
 				v-else
-				>保存</el-button
+				><!-- 保存 -->{{$t('Dialog.confirm_save_btn')}}</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"
 			width="360"
 			trigger="click">
 			<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>
@@ -241,7 +241,7 @@
 <script>
 import { dataBaseInterface } from '@/api/api.js';
 import * as preDictEdbInterface from '@/api/modules/predictEdbApi.js';
-import { formRules } from '../databaseComponents/util';
+import { formRules,frequencyArr } from '../databaseComponents/util';
 import { unitArr } from '@/utils/defaultOptions';
 const tag_arr = [];
 for(let i=0;i<26;i++) tag_arr.push(String.fromCharCode(65+i));
@@ -323,7 +323,7 @@ export default {
 				children: 'Children',
 				checkStrictly: true
 			},
-			frequencyArr: ['日度', '周度','旬度','月度', '季度', '年度'],
+			frequencyArr,
 			formRules,
 			unitArr,
 			addList: [
@@ -421,7 +421,7 @@ export default {
 		},
 		/* 添加额外的指标列 */
 		addTargetHandle() {
-			if(this.addList.length >= 26) return this.$message.warning('添加指标个数已达上限')
+			if(this.addList.length >= 26) return this.$message.warning(/* '添加指标个数已达上限' */this.$t('EtaBasePage.num_overrun_msg'))
 			let tag = this.addList[this.addList.length-1].tag;
 			let index = tag_arr.findIndex(item => item === tag);
 			const item = {
@@ -512,7 +512,7 @@ export default {
 			this.getNewestDate();
 		},
 		async saveHandle() {
-				if (!this.formulaList[0].formula) return this.$message.warning('计算公式不能为空');
+				if (!this.formulaList[0].formula) return this.$message.warning(/* '计算公式不能为空' */this.$t('EtaBasePage.input_formula_valid'));
 				await this.$refs.diaForm.validate();
 
 				// 指标id数组

+ 22 - 21
src/views/dataEntry_manage/databaseComponents/openDialog.vue

@@ -11,50 +11,50 @@
 		v-dialogDrag>
 			<div slot="title" style="display:flex;alignItems:center;">
 				<img :src="title=='添加'?$icons.add:title=='编辑'?$icons.edit:''" style="color:#fff;width:16px;height:16px;marginRight:5px;">
-				<span style="fontSize:16px;">{{title}}</span>
+				<span style="fontSize:16px;">{{title==='添加' ? $t('Table.add_btn') : $t('Table.edit_btn')}}</span>
 			</div>
 			<div class="dialog-main">
 				<el-form
 				ref="diaForm"
 				label-position="left"
 				hide-required-asterisk
-				label-width="80px"
+				label-width="120px"
 				:model="formData"
 				:rules="formRules">
 					<template v-if="!formData.isEDB">
-						<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="levelVal">
+						<el-form-item :label="$t('EtaBasePage.menu_name')" prop="levelVal">
 							<el-input
 							v-model="formData.levelVal"
 							style="width: 80%"
-							placeholder="必填项"></el-input>
+							:placeholder="$t('Dialog.require_vaild')"></el-input>
 						</el-form-item>
 					</template>
 					<!-- 编辑具体指标 -->
 					<template v-if="title=='编辑' && formData.isEDB">
-						<el-form-item label="指标名称" prop="levelVal">
+						<el-form-item :label="$t('Edb.Detail.e_name')" prop="levelVal">
 							<el-input
 							v-model="formData.levelVal"
 							style="width: 80%"
-							placeholder="指标名称"></el-input>
+							:placeholder="$t('Edb.InputHolderAll.input_name')"></el-input>
 						</el-form-item>
-						<el-form-item label="所属目录" prop="level_menu">
+						<el-form-item :label="$t('Edb.Detail.e_menu')" prop="level_menu">
 							<el-cascader
 							v-model="formData.level_menu"
 							:options="options"
 							:props="levelProps"
 							style="width: 80%"
-							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%"
 							:disabled="$parent.tableData[0].Source===58"
 							@change="changeTrade">
@@ -66,16 +66,16 @@
 								</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>
 					</template>
 				</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>
@@ -84,6 +84,7 @@
 <script>
 import { dataBaseInterface } from '@/api/api.js';
 import { unitArr } from '@/utils/defaultOptions';
+import { frequencyArr } from './util'
 export default {
 	props: {
 		isOpenDialog: {
@@ -122,7 +123,7 @@ export default {
 		return {
 			formRules: {
 				levelVal:[
-					{ required: true, message: '目录名称不能为空', trigger: 'blur' },
+					{ required: true, message: this.$t('EtaBasePage.input_menu_msg'), trigger: 'blur' },
 				],
 				// level_2:[
 				// 	{ required: true, message: '目录名称不能为空', trigger: 'blur' },
@@ -134,13 +135,13 @@ export default {
 				// 	{ required: true, message: '指标名称不能为空', trigger: 'blur' },
 				// ],
 				level_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:  [],
@@ -151,7 +152,7 @@ export default {
 				children: 'Children',
 				checkStrictly: true
 			},
-			frequencyArr:['日度','周度','旬度','月度','季度','年度'],
+			frequencyArr,
 
 		};
 	},

+ 53 - 238
src/views/dataEntry_manage/databaseComponents/util.js

@@ -38,75 +38,75 @@ export const formRules= {
 //计算指标弹窗类型
 export const computedTypes = [
 	{
-		name:'指标运算',
+		name:/* '指标运算' */bus.$i18nt.t('Edb.CalculatesAll.calculate'),
 		type:4
 	},
 	{
-		name:'累计值转月/季值',
+		name:/* '累计值转月/季值' */bus.$i18nt.t('Edb.CalculatesAll.to_month_quarter'),
 		type:'toMonthSeason'
 	},
 	{
-		name:'同比值',
+		name:/* '同比值' */bus.$i18nt.t('Edb.CalculatesAll.on_year'),
 		type:6
 	},
 	{
-		name:'同差值',
+		name:/* '同差值' */bus.$i18nt.t('Edb.CalculatesAll.differ'),
 		type:7
 	},
 	{
-		name:'N数值移动平均计算',
+		name:/* 'N数值移动平均计算' */bus.$i18nt.t('Edb.CalculatesAll.n_move_average'),
 		type:8
 	},
 	{
-		name:'N数值环比值',
+		name:/* 'N数值环比值' */bus.$i18nt.t('Edb.CalculatesAll.n_rate'),
 		type:12
 	},
 	{
-		name:'N数值环差值',
+		name:/* 'N数值环差值' */bus.$i18nt.t('Edb.CalculatesAll.n_differ'),
 		type:13
 	},
 	{
-		name:'升频',
+		name:/* '升频' */bus.$i18nt.t('Edb.CalculatesAll.up_conver'),
 		type:14
 	},
 	{
-		name:'指标拼接',
+		name:/* '指标拼接' */bus.$i18nt.t('Edb.CalculatesAll.splic'),
 		type: 'joint'
 	},
 	{
-		name: '时间移位',
+		name: /* '时间移位' */bus.$i18nt.t('Edb.CalculatesAll.time_move'),
 		type: 22
 	},
 	{
-		name: '超季节性',
+		name: /* '超季节性' */bus.$i18nt.t('Edb.CalculatesAll.super_season'),
 		type: 35
 	},
 	{
-		name: '拟合残差',
+		name: /* '拟合残差' */bus.$i18nt.t('Edb.CalculatesAll.fit_residu'),
 		type: 37
 	},
 	{
-		name: '年化',
+		name: /* '年化' */bus.$i18nt.t('Edb.CalculatesAll.annual'),
 		type: 52
 	},
 	{
-		name: '降频',
+		name: /* '降频' */bus.$i18nt.t('Edb.CalculatesAll.down_conver'),
 		type: 51
 	},
 	{
-		name: '扩散指数',
+		name: /* '扩散指数' */bus.$i18nt.t('Edb.CalculatesAll.diff_index'),
 		type: 53
 	},
 	{
-		name: '累计值',
+		name: /* '累计值' */bus.$i18nt.t('Edb.CalculatesAll.cumulate'),
 		type: 'accumulate'
 	},
 	{
-		name:'指数修匀',
+		name:/* '指数修匀' */bus.$i18nt.t('Edb.CalculatesAll.ex_smooth'),
 		type:'alpha'
 	},
 	{
-		name:'日均值',
+		name:/* '日均值' */bus.$i18nt.t('Edb.CalculatesAll.day_mean'),
 		type: 75
 	}
 ]
@@ -114,49 +114,50 @@ export const computedTypes = [
 //批量指标类型
 export const computedBatchTypes = [
 	{
-		name:'同比值',
+		name:/* '同比值' */bus.$i18nt.t('Edb.CalculatesAll.on_year'),
 		type:6
 	},
 	{
-		name:'同差值',
+		name:/* '同差值' */bus.$i18nt.t('Edb.CalculatesAll.differ'),
 		type:7
 	},
 	{
-		name:'N数值移动平均计算',
+		name:/* 'N数值移动平均计算' */bus.$i18nt.t('Edb.CalculatesAll.n_move_average'),
 		type:8
 	},
 	{
-		name:'N数值环比值',
+		name:/* 'N数值环比值' */bus.$i18nt.t('Edb.CalculatesAll.n_rate'),
 		type:12
 	},
 	{
-		name:'N数值环差值',
+		name:/* 'N数值环差值' */bus.$i18nt.t('Edb.CalculatesAll.n_differ'),
 		type:13
 	},
 	{
-		name:'升频',
+		name:/* '升频' */bus.$i18nt.t('Edb.CalculatesAll.up_conver'),
 		type:14
 	},
 	{
-		name:'累计值转月/季值',
+		name:/* '累计值转月/季值' */bus.$i18nt.t('Edb.CalculatesAll.to_month_quarter'),
 		type:'toMonthSeason'
 	},
 	{
-		name: '累计值',
+		name: /* '累计值' */bus.$i18nt.t('Edb.CalculatesAll.cumulate'),
 		type: 'accumulate'
 	},
 	{
-		name:'指数修匀',
+		name:/* '指数修匀' */bus.$i18nt.t('Edb.CalculatesAll.ex_smooth'),
 		type:'alpha'
 	},
 	{
-		name:'日均值',
+		name:/* '日均值' */bus.$i18nt.t('Edb.CalculatesAll.day_mean'),
 		type: 75
 	}
 ]
 
 //频度
-export const frequencyArr = ['日度','周度','旬度','月度','季度','年度']
+export const frequencyArr = ['日度','周度','旬度','月度','季度','年度'];
+
 //添加基础指标来源 已改为从接口获取 datamanage/edb_source/list
 export const fromArr = ['wind','同花顺','彭博','彭博财务','路透','手工指标','隆众指标','SMM','Mysteel','郑商所',
 '大商所','上期所','中金所','上期能源','欧洲天然气','中国煤炭市场网','谷歌出行指数','EIA STEO报告','UN','卓创数据(红桃3)',
@@ -232,215 +233,29 @@ export const allFromArr = [
 
 //公式说明 eta指标库
 export const formulaTip = new Map([
-	[4,`指标运算:<br>
-	1、选择指标参数<br>
-	2、生成指标的时间序列:以第一个指标为准,其他指标去匹配第一个指标的日期序列,没有值的,按照所选空值处理方式处理<br>
-	3、按照输入的计算公式进行计算`],
-	[5,`累计值转月值计算方法:<br>
-	<p style="display:flex;justify-content: space-between;">
-		<span style="width:45%">1月无值:1月=2月/2</span>
-		<span style="width:40%">1月有值:1月=1月</span>
-	</p>
-	<p style="display:flex;justify-content: space-between;">
-		<span style="width:40%">2月=2月/2</span>
-		<span style="width:40%">2月=2月-1月</span>
-	</p>
-	<p style="display:flex;justify-content: space-between;">
-		<span style="width:40%">3月=3月-2月</span>
-		<span style="width:40%">3月=3月-2月</span>
-	</p>
-	<p style="display:flex;justify-content: space-between;">
-		<span style="width:40%">4月=4月-3月</span>
-		<span style="width:40%">4月=4月-3月</span>
-	</p>
-	<p style="display:flex;justify-content: space-between;">
-		<span style="width:40%">以此类推</span>
-		<span style="width:40%">以此类推</span>
-	</p>
-	<p>特别说明:若1月和2月均无值,则该年不做计算</p>`],
-	['toMonthSeason',`1、累计值转月值计算方法:<br>
-	<p style="display:flex;justify-content: space-between;">
-		<span style="width:45%">1月无值:1月=2月/2</span>
-		<span style="width:40%">1月有值:1月=1月</span>
-	</p>
-	<p style="display:flex;justify-content: space-between;">
-		<span style="width:40%">2月=2月/2</span>
-		<span style="width:40%">2月=2月-1月</span>
-	</p>
-	<p style="display:flex;justify-content: space-between;">
-		<span style="width:40%">3月=3月-2月</span>
-		<span style="width:40%">3月=3月-2月</span>
-	</p>
-	<p style="display:flex;justify-content: space-between;">
-		<span style="width:40%">4月=4月-3月</span>
-		<span style="width:40%">4月=4月-3月</span>
-	</p>
-	<p style="display:flex;justify-content: space-between;">
-		<span style="width:40%">以此类推</span>
-		<span style="width:40%">以此类推</span>
-	</p>
-	<p>特别说明:若1月和2月均无值,则该年不做计算</p>
-	2、累计值转季值计算方法:<br>
-	<p style="display:flex;justify-content: space-between;">
-		<span style="width:45%">1季度无值:1季度=2季度/2 </span>
-		<span style="width:40%">1季度有值:1季度=1季度</span>
-	</p>
-	<p style="display:flex;justify-content: space-between;">
-		<span style="width:40%">2季度=2季度/2</span>
-		<span style="width:40%">2季度=2季度-1季度</span>
-	</p>
-	<p style="display:flex;justify-content: space-between;">
-		<span style="width:40%">3季度=3季度-2季度</span>
-		<span style="width:40%">3季度=3季度-2季度</span>
-	</p>
-	<p style="display:flex;justify-content: space-between;">
-		<span style="width:40%">4季度=4季度-3季度</span>
-		<span style="width:40%">4季度=4季度-3季度</span>
-	</p>
-	<p style="display:flex;justify-content: space-between;">
-		<span style="width:40%">以此类推</span>
-		<span style="width:40%">以此类推</span>
-	</p>
-	<p>特别说明:若1季度和2季度均无值,则该年不做计算</p>`],
-	[6,`同比公式:今年同期/去年同期-1<br>
-	1、锁定当前数值对应的日期<br>
-	2、匹配上一年同期:寻找过去一年有数值的对应日期中,
-	与当前数值对应日期相等或者最为接近的那一天,如果有
-	两个日期与当前数值对应日期的距离相等,则取降序日期
-	排列下的第一个日期。<br>
-	3、取到匹配的上一年同期对应的数值<br>
-	4、将当期的数值与上一年匹配的同期的值计算比例<br>
-	5、将计算得到的比例填充至当前数值对应的日期,生成
-	新的数据序列<br>
-	6、遍历允许跨年,对于日度/周度/季度数据,遍历往前
-	最多35天,往后最多35天`],
-	[7,`同差公式:今年同期-去年同期<br>
-	1、锁定当前数值对应的日期<br>
-	2、匹配上一年同期:寻找过去一年有数值的对应日期中,
-	与当前数值对应日期相等或者最为接近的那一天,如果有
-	两个日期与当前数值对应日期的距离相等,则取降序日期
-	排列下的第一个日期。<br>
-	3、取到匹配的上一年同期对应的数值<br>
-	4、将当期的数值与上一年匹配的同期的值计算差值<br>
-	5、将计算得到的差值填充至当前数值对应的日期,生成
-	新的数据序列<br>
-	6、遍历允许跨年,对于日度/周度/季度数据,遍历往前
-	最多35天,往后最多35天`],
-	[8,`计算公式:=AVERAGE(N个数值的和),N为取数个数<br>
-	1、计算当前的数值的N值移动平均,则时间向前追溯
-	N个值(包括当前值),如果遇到空格值的日期,则自
-	动跳过空格数值,继续往前追溯<br>
-	2、如果当前日期对应的原始数据为空值,则N值移动
-	平均也为空值`],
-	[12,`环比公式:(当期-上期)/上期<br>
-	1、选择当期对应值,若是当期值为空,则环比值为空;若当期有值,上期值往 前遍历查询,默认N等于1,找最近的一个上期值;可根据设置的N值选择最 近的第N个上期值 <br>
-	2、将当期的数值与匹配到的上期值按照公式进行计算 <br>
-	3、将计算得到值填充至当期数值对应的日期,生成新的 数据序列<br>
-	4、原始数据中出现0和负值时,提示该指标不能进行环比运算`],
-	[13,`环差公式:当期-上期<br>
-	1、选择当期对应值,若是当期值为空,则环差值为空;若当期有值,上期值往 前遍历查询,默认N等于1,找最近的一个上期值;可根据设置的N值选择最 近的第N个上期值找到最近的一个上期值即可<br>
-	2、将当期的数值与匹配到的上期值按照公式进行计算<br>
-	3、将计算得到值填充至当期数值对应的日期,生成新的数据序列`],
-	[14,`升频:支持转换所有频度指标为日度指标<br>
-	1、规则:若将月度指标转换为日度指标,如当前月为9月,但9月数据还未更新,假设9月数据是9.30更新,则9.1~9.29的数据等于8.31的数据<br>
-	2、其他频度规则相同
-	`],
-	['joint',`1、直接拼接说明:将指标A和指标B按照选取的拼接日期进行拼接;<br>
-	2、累计值同比拼接说明:指标A最后一个12月31日有值的年份数据乘以指标B的同比增长率得到指标A下一年的数据,从指标A最后一个12月31日有值的日期开始拼接计算得到指标A下一年的数据;`],
-	[22,`时间移位:把数据的时间序列加(领先)减(滞后)相应的时间,形成新的数据系列。<br>例:<br>
-	<p>
-		领先10天,即将指标每个数据点的日期加10天。原始数据点(2022-1-1,100)将转化成(2022-1-11,100)
-	</p>
-	<p>
-		滞后1月,即将日期减30天,原始数据点(2022-1-1,100)将转化成(2021-12-2,100)
-	</p>`],
-	[35,`计算公式:现值 - AVERAGE(过去N年同期数值和),N为取数个数<br>
-	1、计算过去N年同期数值和,则时间向前追溯 N年(包括最新一年)<br>
-	2、参与计算的指标数据通过线性方程补全为日度的数据(包括周末)<br>
-	3、遇到闰二月,如2.29,去掉该天数据<br>
-	4、进行农历计算时,只计算11月--次年5月,如果当前月为12月,则取第二年的春节为时间位移标准点<br>
-	5、计算生成的结果的数据频度与原始指标频度保持一致
-	`],
-	[37,`拟合残差:计算一个指标(B)的实际值和拟合值(B’)的差值。拟合值B’由指标A(自变量)和指标B(因变量)通过线性回归拟合得到,具体算法如下:<br>
-	根据指标A(自变量)和指标B(因变量)过去一个时间段内(这个N期可以是从最新值往前倒退N期,包含最新,也可以是选取历史数据的一个时间段内的数据),生成线性回归方程 Y=aX+b<br>
-	由指标A(自变量)和拟合方程的系数a,b,计算得到拟合出来的系列B’=aA b 再计算拟合系列B’和原始系列B的差值得到新的数据系列Delta,Delta=B-B'
-	`],
-	[40,`数据调整:将所选指标的历史数据经过调整后保存,该指标更新时将在调整数据的基础上更新最新数据。<br>
-	注:系统只取A、B列数据,且调整数据的日期不得晚于指标的实际最新日期
-	`],
-	[52,`年化值=S / a (S表示指标数值,a表示年化平均占比)<br>
-	1、读取指标最新值对应的日期T和指标数值S<br>
-	2、计算该指标在过去三年日期T对应的值与当年最后一个日期对应的值的比值,即截止到日期T的累计值占全年值的比重<br>
-	3、计算三年的占比平均值,即过去三年平均占比a<br>
-	4、若历史数据不足三年,则至少按两年计算,少于两年不生成年化值<br>
-	5、如果某一年日期T没有值,则通过日期T前后的两个值,用线性插值法【(Y-Y1)/(X-X1)=(Y2-Y1)/(X2-X1)】计算得到日期T的值
-	`],
-	[51,`降频:将高频指标转换为低频指标,需选择转换的频度<br>
-	1、选择转换的频度,日度可以选择降频成周度、旬度、月度、季度、年度;周度可以选择降频成旬度、月度、季度、年度;旬度可以选择降频成月度、季度、年度;月度可降成季度、年度,季度可降成年度<br>
-	2、降频后数据日期,周度的降频数据系列日期取每周五;旬度取每月10日、20日、最后一日;月度取每月最后一天,季度取季度最后一天,年度取年度最后一天<br>
-	3、数据点取值提供两种选择:a、期末值,取区间最后一个日期的数据值。b、取区间平均值。<br>
-	4、最新值的处理:最新的高频数据,正好处于所要降频的低频的两个日期之间时,例如当前1月3号,1月已经有了数据,但1月31号还未到来,则降成月频数据时最新数据日期为1月31号`],
-	[53,`扩散指数:AVERAGE(所选指标环差指数和)<br>
-	1、选择多个指标,设定扩散指标日期并集<br>
-	2、所选指标在日期并集内有缺失值的用前期值填充<br>
-	3、计算日期并集内所选指标的每期环差指数(环差>0,取1,环差=0,取0.5,环差<0,取0),并计算环差指数均值`],
-	['accumulate',`1、累计值计算方法:<br>
-	日度转周度:日期选周五,计算上周六到本周五的日度值的加总,最新日期为最新值对应的周五。<br>
-	日度转月度:日期选每个月最后一天,计算当月所有日度值的加总,最新日期为最新值对应当月最后一天。<br>
-	日度转季度、年度:方法类似转月度。<br>
-	周度转月度/季度/年度:将周度值转成日度,空值用插值法插值,计算当月/当季/当年所有值的加总,然后除以7。<br>
-	月度转季度/年度: 当季/当年月度值相加。<br>
-	以此类推 特别说明:旬度指标可以转成更低频指标,更高频指标不能转成旬度<br>
-	2、年初至今计算方法:<br>
-	日度数据年初至今:日期同原日度数据。将每年1月1日(含)到日度数据所在日期(含)之间的日度值,进行加总。<br>
-	周度数据年初至今:日期同原周度数据。将周度值转成日度频率,空值用插值法插值,然后算法同日度年度至今,再除以7<br>
-	月度/季度数据年初至今:日期同原月度/季度数据,将每年1月1日(含)到月度数据所在日期(含)之间的月度/季度值,进行加总<br>
-	以此类推`],
-	[61,`累计值转季值计算方法:<br>
-	<p style="display:flex;justify-content: space-between;">
-		<span style="width:45%">1季度无值:1季度=2季度/2 </span>
-		<span style="width:40%">1季度有值:1季度=1季度</span>
-	</p>
-	<p style="display:flex;justify-content: space-between;">
-		<span style="width:40%">2季度=2季度/2</span>
-		<span style="width:40%">2季度=2季度-1季度</span>
-	</p>
-	<p style="display:flex;justify-content: space-between;">
-		<span style="width:40%">3季度=3季度-2季度</span>
-		<span style="width:40%">3季度=3季度-2季度</span>
-	</p>
-	<p style="display:flex;justify-content: space-between;">
-		<span style="width:40%">4季度=4季度-3季度</span>
-		<span style="width:40%">4季度=4季度-3季度</span>
-	</p>
-	<p style="display:flex;justify-content: space-between;">
-		<span style="width:40%">以此类推</span>
-		<span style="width:40%">以此类推</span>
-	</p>
-	<p>特别说明:若1季度和2季度均无值,则该年不做计算</p>`],
-	[62,`累计值计算方法:<br>
-	日度转周度:日期选周五,计算上周六到本周五的日度值的加总,最新日期为最新值对应的周五。<br>
-	日度转月度:日期选每个月最后一天,计算当月所有日度值的加总,最新日期为最新值对应当月最后一天。<br>
-	日度转季度、年度:方法类似转月度。<br>
-	周度转月度/季度/年度:将周度值转成日度,空值用插值法插值,计算当月/当季/当年所有值的加总,然后除以7。<br>
-	月度转季度/年度: 当季/当年月度值相加。<br>
-	以此类推 特别说明:旬度指标可以转成更低频指标,更高频指标不能转成旬度<br>`],
-	[63,`年初至今计算方法:<br>
-	日度数据年初至今:日期同原日度数据。将每年1月1日(含)到日度数据所在日期(含)之间的日度值,进行加总。<br>
-	周度数据年初至今:日期同原周度数据。将周度值转成日度频率,空值用插值法插值,然后算法同日度年度至今,再除以7<br>
-	月度/季度数据年初至今:日期同原月度/季度数据,将每年1月1日(含)到月度数据所在日期(含)之间的月度/季度值,进行加总<br>
-	以此类推`],
-	['alpha',`指数修匀计算公式:<br>
-	1、设定指数修匀值序列的初始值=原来时间序列的初始值 <br>
-	2、选择平滑系数alpha值:在0-1之间,开区间 <br>
-	3、本期指数修匀值=alpha*本期实际值+(1-alpha)*上期指数修匀值`],
-	[75,`日均值计算公式:<br>
-	1、年度值转日均值=年度值/对应年份天数 <br>
-	2、半年度值转日均值=半年度值/对应半年度天数 <br>
-	3、季度值转日均值=季度值/对应季度天数 <br>
-	4、月度值转日均值=月度值/对应月度天数 <br>
-	5、旬度值转日均值=旬度值/对应旬度天数 <br>
-	6、周度值转日均值=周度值/7`]
+	[4,bus.$i18nt.t('Edb.FormulaTips.calculate')], //指标运算
+	[5,bus.$i18nt.t('Edb.FormulaTips.to_month')], //累计转月
+	['toMonthSeason',bus.$i18nt.t('Edb.FormulaTips.to_month_quarter')], //累计转月、转季
+	[6,bus.$i18nt.t('Edb.FormulaTips.on_year')], //同比
+	[7,bus.$i18nt.t('Edb.FormulaTips.differ')], //同差
+	[8,bus.$i18nt.t('Edb.FormulaTips.n_move_average')], //n数值移动平均 
+	[12,bus.$i18nt.t('Edb.FormulaTips.n_rate')], //n数值环比
+	[13,bus.$i18nt.t('Edb.FormulaTips.n_differ')],//n数值环差
+	[14,bus.$i18nt.t('Edb.FormulaTips.up_conver')], //升频
+	['joint',bus.$i18nt.t('Edb.FormulaTips.splic')], //指标拼接
+	[22,bus.$i18nt.t('Edb.FormulaTips.time_move')], //时间移位
+	[35,bus.$i18nt.t('Edb.FormulaTips.super_season')], //超季节性
+	[37,bus.$i18nt.t('Edb.FormulaTips.fit_residu')], //拟合残差
+	[40,bus.$i18nt.t('Edb.FormulaTips.adjust_data')], //数据调整
+	[52,bus.$i18nt.t('Edb.FormulaTips.annual')], //年化
+	[51,bus.$i18nt.t('Edb.FormulaTips.down_conver')], //降频
+	[53,bus.$i18nt.t('Edb.FormulaTips.diff_index')], //扩散指数
+	['accumulate',bus.$i18nt.t('Edb.FormulaTips.cumulate_and_toyear')], //累计值、年初至今累计
+	[61,bus.$i18nt.t('Edb.FormulaTips.to_quarter')], //累计转季
+	[62,bus.$i18nt.t('Edb.FormulaTips.cumulate_val')], //累计值
+	[63,bus.$i18nt.t('Edb.FormulaTips.cumulate_to_year')], //年初至今累计值
+	['alpha',bus.$i18nt.t('Edb.FormulaTips.ex_smooth')], //指数修匀
+	[75,bus.$i18nt.t('Edb.FormulaTips.day_mean')], //日均值
 ])
 
 // wind 日期序列常见指标代码

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

@@ -218,7 +218,7 @@
 					
 				</div>
 				<div v-if="!Total" class="nodata">
-					<tableNoData text="暂无指标"/>
+					<tableNoData :text="$t('Table.no_edb_msg')"/>
 				</div>
 			</div>
 			<!-- 指标详情 -->
@@ -371,8 +371,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">
@@ -385,7 +385,7 @@
 
 					<el-popover
 						placement="top-start"
-						width="450"
+						width="500"
 						trigger="hover"
 						v-if="tips.get(item.type)"
 					>