Pārlūkot izejas kodu

合并最新分支

bding 1 gadu atpakaļ
vecāks
revīzija
78f987080a

+ 3 - 1
src/lang/commonLang.js

@@ -1,5 +1,6 @@
 import Edb from './modules/EtaBase/commonLang';
 import Chart from './modules/EtaChart/commonLang';
+import ETable from './modules/ETATables/commonLang';
 
 // 通用文字翻译
 export default {
@@ -246,5 +247,6 @@ export default {
     }
   },
   Edb,
-  Chart
+  Chart,
+  ETable
 };

+ 1 - 0
src/lang/en.js

@@ -22,4 +22,5 @@ export default {
   Common:transformLanguageData(commonLang.Common,'en'),
   Edb: transformLanguageData(commonLang.Edb, "en"),
   Chart: transformLanguageData(commonLang.Chart, "en"),
+  ETable: transformLanguageData(commonLang.ETable, "en"),
 };

+ 82 - 0
src/lang/modules/ETATables/En.js

@@ -0,0 +1,82 @@
+export default {
+  /* 在线EXCEL */
+  OnlineExcelPage: {
+    add_excel_btn: "Add excel spreadsheet",
+    add_timeline_table_btn: "Add a timeline table",
+    add_mixed_table_btn: "Add mixed table",
+    excel_name_ipt: "Excel name",
+    please_value_ipt: "Please enter a value",
+    add_category_table_btn: "Add table category",
+    please_table_name_ipt: "Please enter the Table name",
+    author_info: "Author:",
+    recent_save_time_info: "Recent save time:",
+    table_classification_label: "Table classification",
+    select_appropriate_category_lable: "Please select the appropriate category",
+    please_table_classification_msg: "Please add a table classification first",
+    the_tables_no_delete_msg: "The tables associated with this category cannot be deleted",
+    input_content_msg: "Please input table content",
+    editing_msg: "Editing",
+    all_table_num: "{count} tables in total",
+    creation_time_tle: "Creation time",
+    no_table_available_show: "No table available",
+    date_row_table: "Date",
+    add_date_wrapper: "Add Date",
+    add_text_wrapper: "Add Text",
+    indicator_name_lbl: "Indicator name",
+    indicator_alias_lbl: "Indicator alias",
+    edit_indicator_tle: "Edit Indicator",
+    dlt_the_all_msg: "Deleting the first indicator will clear all content from the table. Are you sure you want to delete it?",
+    please_keep_one_msg: "Please keep at least one indicator date",
+    error_parameter_not_msg: "Formula error, parameter does not exist",
+    lastest_date_lab: "Lastest date",
+    insert_success_msg: "Insert sucessfully",
+    the_date_no_val_msg: "The current date has no value at the moment",
+    formula_val_error_msg: "Formula parameters incorrect",
+    keep_one_column_msg: "Please keep at least one column",
+    keep_one_row_msg: "Please keep at least one row",
+    no_here_val_msg: "Unable to insert value here",
+    TableInstructionsText: `Table Instructions:<br />
+    1. Manual Input: Click on each cell to directly enter text, numbers, or dates (format example: 2023-05-23). The entered content can match the names of metrics. Metrics from both the ETA Metric Library and the ETA Forecast Metric Library are searchable. If a metric is selected from the dropdown list, then that cell becomes a designated row/column for the selected metric.<br />
+    2. Insert Metric Value: Right-click on a cell and click "Insert Metric Value". The system will query for the closest date and metric name based on the cell's row and column, and then populate the cell with the value of the metric corresponding to that date. The metric value is always positioned in the lower right corner of the cell.<br />
+    3. Update and Calculation Rules: The dates associated with metric values in the table do not update automatically, and values do not support calculations within cells.`,
+    select_table_category: "Please select table category",
+    saving_loading_text: "Saving...",
+    table_explaination_text: "Table explaination",
+    currently_editing_msg: "is currently being edited",
+    already_exists_msg: "Indicator already exists",
+    please_add_table_msg: "Please add a table",
+    data_row_label: "Indicator column+Date row",
+    data_column_label: "Indicator row+Date column",
+    select_table_contents: "Please select the table of contents",
+    the_sheet_page_selected: "Upload files based on the sheet page selected by th user",
+    please_select_sheet_msg: "Please select the sheet page to save",
+    please_select_category_msg: "Please select a category",
+    table_name_empty_msg: "Table name cannot be empty",
+    name_empty_msg: "name cannot be empty",
+  },
+
+  /* 自定义分析  */
+  CustomAnalysisPage: {
+    up_file_btn: "Upload files",
+    generate_indicators_btn: "Generate indicators",
+    up_save_tooltip: "Update all the indicators generated by the current table based on the latest content saved in the table",
+    refresh_loading: "Refresh indicators",
+    refreshing_loading: "Indicators refreshing...",
+    no_file_type_msg: "Upload failed, format does not comply with xlsx",
+    up_file_five_msg: "The maximum upload file size cannot exceed 5M",
+    up_new_file_msg: "A file with the same name already exists. Please upload a new file",
+    parsing_file_error_msg: "Parsing file failed",
+    select_one_region_msg: "Only one area can be selected at the same time",
+    only_allowed_select_msg: "The sequence only allows selection of the same row or column",
+    select_date_sequence: "Please select a date sequence",
+    select_date_numerical: "Please select a numerical sequence",
+    select_appropriate_category: "Please select the appropriate category",
+    select_frequency: "Please select frequency",
+    rules_edbName: "Indicator name cannot be empty",
+    rules_classify: "Category cannot be empty",
+    rules_frequency: "Frequency cannot be empty",
+    rules_unit: "Unit cannot be empty",
+    date_sequence_cannot_msg: "The date sequence cannot be empty",
+    numerical_sequence_cannot_msg: "The numerical sequence cannot be empty",
+  },
+};

+ 82 - 0
src/lang/modules/ETATables/Zh.js

@@ -0,0 +1,82 @@
+export default {
+  /* 在线EXCEL */
+  OnlineExcelPage: {
+    add_excel_btn: "添加Excel表格",
+    add_timeline_table_btn: "添加时间序列表格",
+    add_mixed_table_btn: "添加混合表格",
+    excel_name_ipt: "表格名称",
+    please_value_ipt: "请输入值",
+    add_category_table_btn: "添加表格分类",
+    please_table_name_ipt: "请输入表格名称",
+    author_info: "作者:",
+    recent_save_time_info: "最近保存时间:",
+    table_classification_label: "表格分类",
+    select_appropriate_category_lable: "请选择所属分类",
+    please_table_classification_msg: "请先添加表格分类",
+    the_tables_no_delete_msg: "该分类下关联表格不可删除",
+    input_content_msg: "请输入表格内容",
+    editing_msg: "编辑中",
+    currently_editing_msg: "正在编辑中",
+    all_table_num: "共{count}张表格",
+    creation_time_tle: "创建时间",
+    no_table_available_show: "暂无表格",
+    date_row_table: "日期",
+    add_date_wrapper: "添加日期",
+    add_text_wrapper: "添加文本",
+    indicator_name_lbl: "指标名称",
+    indicator_alias_lbl: "指标别名",
+    edit_indicator_tle: "编辑指标",
+    dlt_the_all_msg: "第一个指标删除后将清除表格所有内容,确认删除吗?",
+    please_keep_one_msg: "请至少保留一个指标日期",
+    error_parameter_not_msg: "公式有误,参数不存在",
+    lastest_date_lab: "最新日期",
+    insert_success_msg: "插入成功",
+    the_date_no_val_msg: "当前日期暂无值",
+    formula_val_error_msg: "公式参数有误",
+    keep_one_column_msg: "请至少保留一列",
+    keep_one_row_msg: "请至少保留一行",
+    no_here_val_msg: "无法在此处插入值",
+    select_table_category: "请选择表格分类",
+    saving_loading_text: "保存中...",
+    table_explaination_text: "表格说明",
+    already_exists_msg: "指标已存在",
+    please_add_table_msg: "请添加表格",
+    data_row_label: "指标列+日期行",
+    data_column_label: "指标行+日期列",
+    select_table_contents: "请选择表格目录",
+    the_sheet_page_selected: "根据用户选择的sheet页上传文件",
+    please_select_sheet_msg: "请选择要保存的sheet页",
+    please_select_category_msg: "请选择分类",
+    table_name_empty_msg: "表格名称不能为空",
+    name_empty_msg: "名称不能为空",
+    TableInstructionsText: `表格说明:<br>
+    1、手动输入:单击每个单元格可直接输入文本、数字、日期(格式示例:2023-05-23),输入内容可匹配指标名称,ETA指标库和ETA预测指标库指标均可搜索,在下拉框中选择指标,则该单元格为已选指标行/列。<br>
+    2、插入指标值:右键单元格,点击“插入指标值”,则查询该单元格行、列最近的日期和指标名称,将查找到的指标对应日期的值填入该单元格,指标值总是在右下角。<br>
+    3、更新与计算规则:表格中指标值的日期不自动更新,数值不支持单元格计算`,
+  },
+
+  /* 自定义分析  */
+  CustomAnalysisPage: {
+    up_file_btn: "上传文件",
+    generate_indicators_btn: "生成指标",
+    up_save_tooltip: "根据表格保存的最新内容,更新当前表格生成的所有指标",
+    refresh_loading: "刷新指标",
+    refreshing_loading: "指标刷新中...",
+    no_file_type_msg: "上传失败,格式不符合xlsx",
+    up_file_five_msg: "上传文件最大不能超过5M",
+    up_new_file_msg: "已有同名文件,请上传新文件",
+    parsing_file_error_msg: "解析文件失败",
+    select_one_region_msg: "同时只允许选择一块区域",
+    only_allowed_select_msg: "序列只允许选择同行或同列",
+    select_date_sequence: "请选择日期序列",
+    select_date_numerical: "请选择数值序列",
+    select_appropriate_category: "请选择所属目录",
+    select_frequency: "请选择频率",
+    rules_edbName: "指标名称不能为空",
+    rules_classify: "目录不能为空",
+    rules_frequency: "频率不能为空",
+    rules_unit: "单位不能为空",
+    date_sequence_cannot_msg: "日期序列不能为空",
+    numerical_sequence_cannot_msg: "数值序列不能为空",
+  },
+};

+ 122 - 0
src/lang/modules/ETATables/commonLang.js

@@ -0,0 +1,122 @@
+export default {
+  Btn: {
+    refresh_btn: {
+      zh: "刷新",
+      en: "Refresh",
+    },
+    download_btn: {
+      zh: "下载",
+      en: "Download",
+    },
+    edit_btn: {
+      en: "Edit",
+      zh: "编辑",
+    },
+    save_as: {
+      en: "Save as",
+      zh: "另存为",
+    },
+    save_btn: {
+      en: "Save",
+      zh: "保存 ",
+    },
+    delete_btn: {
+      en: "Delete",
+      zh: "删除",
+    },
+    add_btn: {
+      en: "Add",
+      zh: "添加",
+    },
+    back_btn: {
+      en: "Return",
+      zh: "返回",
+    },
+    all_btn: {
+      en: "All",
+      zh: "全部",
+    },
+    cancel_btn: {
+      en: "Cancel",
+      zh: "取消",
+    },
+  },
+  Msg: {
+    is_del_table_msg: {
+      en: "Once deleted, this table will no longer be referable. Are you sure you want to delete it?",
+      zh: "删除后该表格将不能再引用,确认删除吗?",
+    },
+    refresh_success_msg: {
+      en: "Refresh successfully",
+      zh: "刷新成功",
+    },
+    move_success_msg: {
+      en: "Move succeeded",
+      zh: "移动成功!",
+    },
+    sdded_success_msg: {
+      en: "Added succeeded",
+      zh: "移动成功!",
+    },
+  },
+  Date: {
+    monday: {
+      zh: "周一",
+      en: "Monday",
+    },
+    tuesday: {
+      zh: "周二",
+      en: "Tuesday",
+    },
+    wednesday: {
+      zh: "周三",
+      en: "Wednesday",
+    },
+    thursday: {
+      zh: "周四",
+      en: "Thursday",
+    },
+    friday: {
+      zh: "周五",
+      en: "Friday",
+    },
+    saturday: {
+      zh: "周六",
+      en: "Saturday",
+    },
+    sunday: {
+      zh: "周日",
+      en: "Sunday",
+    },
+    this_week: {
+      zh: "本周",
+      en: "This week",
+    },
+    day: {
+      zh: "日",
+      en: "Day",
+    },
+    this_ten_days: {
+      zh: "本旬",
+      en: "This ten day",
+    },
+    this_month: {
+      zh: "本月",
+      en: "This month",
+    },
+    this_season: {
+      zh: "本季",
+      en: "This season",
+    },
+    this_half_year: {
+      zh: "本半年",
+      en: "This half year",
+    },
+    this_year: {
+      zh: "本年",
+      en: "This year",
+    },
+  },
+};
+
+//ETable

+ 1 - 0
src/lang/zh.js

@@ -23,4 +23,5 @@ export default {
   Common:transformLanguageData(commonLang.Common,'zh'),
   Edb: transformLanguageData(commonLang.Edb, "zh"),
   Chart: transformLanguageData(commonLang.Chart, "zh"),
+  ETable: transformLanguageData(commonLang.ETable, "zh"),
 };

+ 11 - 11
src/views/datasheet_manage/addSheet.vue

@@ -5,7 +5,7 @@
         <li style="margin-right:30px;">
           <el-input
             v-model="sheetForm.name"
-            placeholder="请输入表格名称"
+            :placeholder="$t('OnlineExcelPage.please_table_name_ipt')"
             clearable
             style="width:240px">
           </el-input>
@@ -13,7 +13,7 @@
         <li>
           <el-select 
             v-model="sheetForm.classify" 
-            placeholder="请选择表格分类"
+            :placeholder="$t('OnlineExcelPage.select_table_category')"
             style="width:240px"
             clearable
           >
@@ -26,10 +26,10 @@
 						</el-select>
         </li>
       </ul>
-      <div v-if="updateTime" style="color:#999999;margin-right: 30px;">最近保存时间:{{ updateTime }}</div>
+      <div v-if="updateTime" style="color:#999999;margin-right: 30px;">{{$t('OnlineExcelPage.recent_save_time_info')}}:{{ updateTime }}</div>
       <div>
-        <el-button type="primary" size="medium" @click="saveSheetHandle" v-if="hasPermission">保存</el-button>
-        <el-button type="primary" size="medium" plain @click="backHandle">返回</el-button>
+        <el-button type="primary" size="medium" @click="saveSheetHandle" v-if="hasPermission">{{$t('ETable.Btn.save_btn')}}</el-button>
+        <el-button type="primary" size="medium" plain @click="backHandle">{{$t('ETable.Btn.back_btn')}}</el-button>
       </div>
     </div>
     
@@ -128,7 +128,7 @@ export default {
 
       this.isCanEdit = res.Data.CanEdit
       if(!res.Data.CanEdit){
-        this.$message.warning(`${res.Data.Editor}正在编辑中`)
+        this.$message.warning(`${res.Data.Editor}${this.$t('OnlineExcelPage.currently_editing_msg')}`)
         setTimeout(()=>{
           this.backHandle()
         },1000)
@@ -164,8 +164,8 @@ export default {
       const { name,classify,infoId } = this.sheetForm;
       luckysheet.exitEditMode()
       let data = luckysheet.getAllSheets()[0];
-      if(!name || !classify) return this.$message.warning(name ? '请选择表格分类' : '请输入表格名称')
-      if(!data.celldata.length) return this.$message.warning('请输入表格内容');
+      if(!name || !classify) return this.$message.warning(name ? this.$t('OnlineExcelPage.select_table_category')  : this.$t('OnlineExcelPage.please_table_name_ipt') )
+      if(!data.celldata.length) return this.$message.warning(this.$t('OnlineExcelPage.input_content_msg') );
       let params={
         ExcelInfoId:infoId,
         ExcelName: name,
@@ -193,13 +193,13 @@ export default {
       luckysheet.exitEditMode()
       //结构类型乱飘 强制定义下
       let data = {...luckysheet.getAllSheets()[0],status:Number(luckysheet.getAllSheets()[0].status)}
-      if(!name || !classify) return this.$message.warning(name ? '请选择表格分类' : '请输入表格名称')
-      if(!data.celldata.length) return this.$message.warning('请输入表格内容');
+      if(!name || !classify) return this.$message.warning(name ? this.$t('OnlineExcelPage.select_table_category')  : this.$t('OnlineExcelPage.please_table_name_ipt') )
+      if(!data.celldata.length) return this.$message.warning(this.$t('OnlineExcelPage.input_content_msg') );
 
       this.loading = this.$loading({
 				target:'.addSheet-wrap',
 				lock: true,
-				text: '保存中...',
+				text: this.$t('OnlineExcelPage.saving_loading_text') ,
 				spinner: 'el-icon-loading',
 				background: 'rgba(255, 255, 255, 0.6)'
 			});

+ 13 - 13
src/views/datasheet_manage/components/CustomTable.vue

@@ -38,7 +38,7 @@
               <th class="th-tg sm"></th>
 
               <td rowspan="2" v-if="index === 0">
-                日期
+                {{$t('OnlineExcelPage.date_row_table')}}
                 <i class="el-icon-sort" @click="changeSort"></i>
               </td>
               <td 
@@ -177,7 +177,7 @@
               <th class="th-tg sm"></th>
 
               <td colspan="2">
-                日期
+                {{$t('OnlineExcelPage.date_row_table')}}
                 <i class="el-icon-sort" style="transform: rotate(90deg)" @click="changeSort"></i>
               </td>
 
@@ -319,8 +319,8 @@
       <!-- 添加 -->
       <div class="add-fixed" v-if="!disabled" draggable @dragend="dragEnd" :style="isCollapse?'left:70px;':'left:200px;'">
         <div class="add-wrapper" v-show="!isSlideLeft">
-          <div @click="addDateRow"> <i class="el-icon-circle-plus-outline"></i> 添加日期</div>
-          <div @click="addTextRow"> <i class="el-icon-circle-plus-outline"></i> 添加文本</div>
+          <div @click="addDateRow"> <i class="el-icon-circle-plus-outline"></i> {{$t('OnlineExcelPage.add_date_wrapper')}}</div>
+          <div @click="addTextRow"> <i class="el-icon-circle-plus-outline"></i> {{$t('OnlineExcelPage.add_text_wrapper')}}</div>
 
           <span class="slide-icon slide-left" @click="isSlideLeft=!isSlideLeft">
             <i class="el-icon-d-arrow-left"></i>
@@ -341,7 +341,7 @@
     </div>
 
     <div class="nodata" v-else>
-      <tableNoData text="暂无数据"/>
+      <tableNoData :text="$t('Table.prompt_slogan')"/>
     </div>
 
     <!-- 右键菜单 -->
@@ -361,7 +361,7 @@
     <m-dialog
       :show.sync="isEditEdbAliasDialog"
       width="650px"
-      title="编辑指标"
+      :title="$t('OnlineExcelPage.edit_indicator_tle')"
       @close="isEditEdbAliasDialog = false"
     >
       <div style="padding-left:80px">
@@ -372,10 +372,10 @@
           label-width="80px"
           :model="editEdb"
         >
-          <el-form-item label="指标名称">
+          <el-form-item :label="$t('OnlineExcelPage.indicator_name_lbl')">
             <span>{{ editEdb.EdbName }}</span>
           </el-form-item>
-          <el-form-item label="指标别名" prop="EdbAliasName">
+          <el-form-item :label="$t('OnlineExcelPage.indicator_alias_lbl')" prop="EdbAliasName">
             <el-input v-model="editEdb.EdbAliasName" style="width:80%"/>
           </el-form-item>
         </el-form>
@@ -385,10 +385,10 @@
           type="primary"
           style="margin-right: 60px"
           @click="saveEdbAlias"
-          >保存</el-button
+          >{{$t('Dialog.confirm_save_btn')}}</el-button
         >
         <el-button type="primary" plain @click="isEditEdbAliasDialog = false"
-          >取消</el-button
+          >{{$t('Dialog.cancel_btn')}}</el-button
         >
       </div>
     </m-dialog>
@@ -666,7 +666,7 @@ export default {
       //根据因数找单元格
       let isAllCell = factors.some(_ => findCellByFactor(_)=== null)
       if(isAllCell) {
-        this.$message.warning('公式有误,参数不存在')
+        this.$message.warning(this.$t('OnlineExcelPage.error_parameter_not_msg') )
         return '';
       } 
 
@@ -719,7 +719,7 @@ export default {
       if(rindex==='-1') { //删除列
         console.log('删除列',cindex)
           if(cindex === 'A') {
-            await this.$confirm('第一个指标删除后将清除表格所有内容,确认删除吗?','提示',{ type: 'warning' })
+            await this.$confirm(this.$t('OnlineExcelPage.dlt_the_all_msg') ,this.$t('Confirm.prompt') ,{ type: 'warning' })
             this.reset()
             return
           }
@@ -732,7 +732,7 @@ export default {
       }else if(cindex === '-1') { //删除行
         console.log('删除行',rindex)
 
-        if(this.dateArr.length === 1) return this.$message.warning('请至少保留一个指标日期')
+        if(this.dateArr.length === 1) return this.$message.warning(this.$t('OnlineExcelPage.please_keep_one_msg') )
 
         let index = this.rowHeader.findIndex(_ => _ === rindex)
         if(index >= this.dateArr.length) {

+ 11 - 11
src/views/datasheet_manage/components/MixedTable.vue

@@ -79,15 +79,15 @@
               >
                 <ul>
                   <li style="display:flex;margin:10px;">
-                    <label style="min-width:80px;">指标名称</label> 
+                    <label style="min-width:80px;">{{$t('OnlineExcelPage.indicator_name_lbl')}}</label> 
                     {{cellrelationEdbInfo.EdbName}}
                   </li>
                   <li style="display:flex;margin:10px;">
-                    <label style="min-width:80px;">最新日期</label> 
+                    <label style="min-width:80px;">{{$t('OnlineExcelPage.lastest_date_lab')}}</label> 
                     {{cellrelationEdbInfo.LatestDate}}
                   </li>
                   <li style="display:flex;margin:10px;">
-                    <label style="min-width:80px;">指标ID</label> 
+                    <label style="min-width:80px;">{{$t('Table.edb_id')}}</label> 
                     {{cellrelationEdbInfo.EdbCode}}
                   </li>
                 </ul>
@@ -163,7 +163,7 @@
     </template>
 
     <div class="nodata" v-else>
-      <tableNoData text="暂无数据"/>
+      <tableNoData :text="$t('Table.prompt_slogan')"/>
     </div>
 
     <!-- 选择指标 -->
@@ -380,7 +380,7 @@ export default {
         this.selectCell.Value = '';
         this.selectCell.DataTime = '';
         this.selectCell.EdbInfoId = 0;
-        this.$message.warning('无法在此处插入值');
+        this.$message.warning(this.$t('OnlineExcelPage.no_here_val_msg') );
         return
       }
 
@@ -401,7 +401,7 @@ export default {
       //   return
       // }
 
-      res.Data ? this.$message.success('插入成功') : this.$message.warning('当前日期暂无值') 
+      res.Data ? this.$message.success(this.$t('OnlineExcelPage.insert_success_msg') ) : this.$message.warning(this.$t('OnlineExcelPage.the_date_no_val_msg') ) 
 
       this.selectCell.DataType = 4;
       this.selectCell.ShowValue = res.Data;
@@ -643,7 +643,7 @@ export default {
       //根据因数找单元格
       let isAllCell = factors.some(_ => findCellByFactor(_)===null||isNaN(findCellByFactor(_)))
       if(isAllCell) {
-        this.$message.warning('公式参数有误')
+        this.$message.warning(this.$t('OnlineExcelPage.xxformula_val_error_msgx') )
         return '';
       } 
 
@@ -764,7 +764,7 @@ export default {
       this.insertTargetCell.EdbInfoId = edbId;
       this.insertTargetCell.DataTime = date;
 
-      this.$message.success('插入成功')
+      this.$message.success(this.$t('OnlineExcelPage.insert_success_msg') )
 
       //如果有关联表格日期就建立新的关联关系
       if(date) {
@@ -802,7 +802,7 @@ export default {
       if(rindex==='-1') { //删除列
         console.log('删除列',cindex)
 
-        if(this.columnHeader.length === 1) return this.$message.warning('请至少保留一列')
+        if(this.columnHeader.length === 1) return this.$message.warning(this.$t('OnlineExcelPage.keep_one_column_msg') )
 
         let index = this.columnHeader.findIndex(_ => _ === cindex);
 
@@ -819,7 +819,7 @@ export default {
       }else if(cindex === '-1') { //删除行
         console.log('删除行',rindex)
 
-        if(this.rowHeader.length === 1) return this.$message.warning('请至少保留一行')
+        if(this.rowHeader.length === 1) return this.$message.warning(this.$t('OnlineExcelPage.keep_one_row_msg') )
 
         let index = this.rowHeader.findIndex(_ => _ === rindex)
         
@@ -970,7 +970,7 @@ export default {
       this.insertTargetCell.EdbInfoId = EdbInfoId;
       this.insertTargetCell.DataTime = Date;
 
-      this.$message.success('插入成功')
+      this.$message.success(this.$t('OnlineExcelPage.insert_success_msg') )
 
       //如果有关联表格日期就建立新的关联关系
       if(Date) {

+ 22 - 17
src/views/datasheet_manage/components/addDateCellDia.vue

@@ -3,7 +3,7 @@
 		:visible.sync="isOpenDialog"
 		:close-on-click-modal="false"
 		:modal-append-to-body='false'
-    title="添加日期"
+    :title="$t('OnlineExcelPage.add_date_wrapper')"
 		@close="cancelHandle"
 		custom-class="dialog"
 		center
@@ -18,28 +18,28 @@
 				:model="formData"
 				:rules="formRules">
 				
-          <el-form-item label="日期类型" prop="dateType">
+          <el-form-item :label="$t('OnlineExcelPage.date_type_label')" prop="dateType">
             <el-radio-group v-model="formData.dateType">
-              <el-radio :label="1">过去日期</el-radio>
-              <el-radio :label="2">未来日期</el-radio>
+              <el-radio :label="1">{{$t('OnlineExcelPage.past_date_label')}}</el-radio>
+              <el-radio :label="2">{{$t('OnlineExcelPage.future_date_label')}}</el-radio>
             </el-radio-group>
           </el-form-item>
-          <el-form-item label="期数" prop="value" v-if="formData.dateType===1">
+          <el-form-item :label="$t('OnlineExcelPage.number_lable')" prop="value" v-if="formData.dateType===1">
             <el-input
               type="number"
-              placeholder="请输入期数"
+              :placeholder="$t('OnlineExcelPage.please_enter_number')"
               :min="1"
               v-model="formData.value"
               @input="filterInput(formData.value)"
               style="width:80%"
             ></el-input>
           </el-form-item>
-          <el-form-item label="截止日期" prop="endDate" v-if="formData.dateType===2">
+          <el-form-item :label="$t('OnlineExcelPage.deadline_lable')" prop="endDate" v-if="formData.dateType===2">
             <el-date-picker
               v-model="formData.endDate"
               type="date"
               value-format="yyyy-MM-dd"
-              placeholder="请输入截止日期"
+              :placeholder="$t('OnlineExcelPage.please_enter_deadline')"
               :picker-options="{
                 disabledDate(time) {
                   return time.getTime() < latestDate;
@@ -51,8 +51,8 @@
 				</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('ETable.Btn.save_btn')}}</el-button>
+				<el-button type="primary" plain @click="cancelHandle">{{$t('ETable.Btn.cancel_btn')}}</el-button>
 			</div>
 		</el-dialog>
 </template>
@@ -78,16 +78,21 @@ export default {
         endDate: '',
         value: ''
       },
-      formRules: {
+
+      latestDate: ''
+    }
+  },
+  computed:{
+   formRules(){
+    return {
         endDate: [
-          { required: true, message: '截止日期不能为空', trigger: 'blur' }
+          { required: true, message: this.$t('OnlineExcelPage.deadline_cannot_be_empty') , trigger: 'blur' }
         ],
         value: [
-          { required: true, message: '期数不能为空', trigger: 'blur' }
+          { required: true, message: this.$t('OnlineExcelPage.number_cannot_be_empty') , trigger: 'blur' }
         ]
-      },
-      latestDate: ''
-    }
+      }
+   }
   },
   methods:{
     cancelHandle() {
@@ -126,7 +131,7 @@ export default {
         })
 
       if(res.Ret !== 200) return
-      this.$message.success('添加成功');
+      this.$message.success(this.$t('ETable.Msg.sdded_success_msg') );
       this.$emit('success',{ type: this.formData.dateType===1?'past':'future',data: res.Data})
       this.cancelHandle()
     }

+ 17 - 13
src/views/datasheet_manage/components/edbDetailSection.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="edb-detail">
-    <label>已选指标:</label>
+    <label>{{$t('OnlineExcelPage.selected_indicators_label')}}</label>
     <el-table
       :data="tableData"
       style="box-shadow: 0px 3px 6px rgba(155, 170, 219, 0.2); margin-top: 10px"
@@ -19,7 +19,7 @@
         </template>
       </el-table-column>
       <div slot="empty">
-        <tableNoData text="暂无指标" size="mini" />
+        <tableNoData :text="$t('OnlineExcelPage.no_indicators_available_table')" size="mini" />
       </div>
     </el-table>
     <ul
@@ -54,40 +54,44 @@ export default {
   },
   data() {
     return {
-      tableColums:[
+      dataList: []
+    };
+  },
+  computed:{
+    tableColums(){
+      return [
 				{
-					label: '指标ID',
+					label: this.$t('Edb.Detail.e_id') || '指标ID',
 					key: 'EdbCode',
 				},
 				{
-					label: '指标名称',
+					label: this.$t('Edb.Detail.e_name') || '指标名称',
 					key: 'EdbName',
 				},
 				{
-					label: '频度',
+					label: this.$t('Edb.Detail.e_fre') ||  '频度',
 					key: 'Frequency',
 				},
 				{
-					label: '单位',
+					label: this.$t('Edb.Detail.e_unit') ||  '单位',
 					key: 'Unit',
 				},
 				{
-					label: '起始时间',
+					label: this.$t('Edb.Detail.e_start_time') ||  '起始时间',
 					key: 'StartDate',
 					minwidthsty: '100px'
 				},
 				{
-					label: '更新时间',
+					label: this.$t('Edb.Detail.e_update_time') ||  '更新时间',
 					key: 'ModifyTime',
 					minwidthsty: '110px'
 				},
 				{
-					label: '来源',
+					label: this.$t('Table.source') || '来源',
 					key: 'SourceName',
 				},
-			],
-      dataList: []
-    };
+			]
+    }
   },
   methods: {},
 };

+ 19 - 16
src/views/datasheet_manage/components/insertDateDia.vue

@@ -31,7 +31,7 @@
                   <el-select
                       style="max-width: 120px;margin:0 10px"
                       v-model="formData.Frequency"
-                      placeholder="请选择频度"
+                      :placeholder="$t('OnlineExcelPage.please_select_frequency')"
                       @change="formData.Day=frequencyDaysOptions[0].name"
                   >
                     <el-option
@@ -67,7 +67,7 @@
               </li>
               <template v-if="formData.Source===2">
                 <li class="form-item">
-                  <label>天数</label>
+                  <label>{{$t('OnlineExcelPage.days_label')}}</label>
                   <el-input
                     v-model="formData.CalculateNum"
                     type="number"
@@ -76,7 +76,7 @@
                   />
                   {{formData.CalculateFrequency}}
                 </li>
-                <li style="color:#999">示例:5,表示当前日期+5天的日期; -5,表示当前日期-5天的日期;</li>
+                <li style="color:#999">{{$t('OnlineExcelPage.example_show_text')}}</li>
               </template>
             </ul>
 
@@ -102,18 +102,18 @@
               </el-tooltip>
             </li>
             <li class="form-item" v-if="selectEdbInfo.Frequency">
-              <label>更新频度</label>
+              <label>{{$t('OnlineExcelPage.update_frequency_label')}}</label>
               {{ selectEdbInfo.Frequency }}
             </li>
             <li class="form-item" v-if="selectEdbInfo.LatestDate">
-              <label>最新日期</label>
+              <label>{{$t('OnlineExcelPage.lastest_date_label')}}</label>
               {{ selectEdbInfo.LatestDate }}
             </li>
           </ul>
 			</div>
 			<div class="dia-bot">
-				<el-button type="primary" style="margin-right:20px" @click="saveInsertHandle">保存</el-button>
-				<el-button type="primary" plain @click="cancelHandle">取消</el-button>
+				<el-button type="primary" style="margin-right:20px" @click="saveInsertHandle">{{$t('ETable.Btn.save_btn')}}</el-button>
+				<el-button type="primary" plain @click="cancelHandle">{{$t('ETable.Btn.cancel_btn')}}</el-button>
 			</div>
 	</el-dialog>
 </template>
@@ -172,7 +172,17 @@ export default {
       return typeMap[this.formData.Frequency] 
         ? typeMap[this.formData.Frequency] 
         : [{name:'第一天'},{name:'最后一天'}]
-    }
+    },
+    frequencyOptions(){
+          return [
+        { name: this.$t('ETable.Date.this_week')  , value: '本周' },
+        { name: this.$t('ETable.Date.this_ten_days') , value: '本旬' },
+        { name: this.$t('ETable.Date.this_month') , value: '本月' },
+        { name: this.$t('ETable.Date.this_season') , value: '本季' },
+        { name: this.$t('ETable.Date.this_half_year') , value: '本半年' },
+        { name: this.$t('ETable.Date.this_year') , value: '本年' },
+      ]
+    },
   },
   data() {
     return {
@@ -189,14 +199,7 @@ export default {
         { name: '日期计算', value: 2 },
         { name: '指定频率', value: 3 },
       ],
-      frequencyOptions: [
-        { name: '本周', value: '本周' },
-        { name: '本旬', value: '本旬' },
-        { name: '本月', value: '本月' },
-        { name: '本季', value: '本季' },
-        { name: '本半年', value: '本半年' },
-        { name: '本年', value: '本年' },
-      ],
+
 
       search_edb: '',
       searchOptions:[],

+ 4 - 4
src/views/datasheet_manage/components/selectTargetValueDia.vue

@@ -2,7 +2,7 @@
 <div v-dialogDrag v-show="isShow" >
   <div class="select-target-value-dia el-dialog" >
     <div class="header el-dialog__header">
-      <span>选择指标</span>
+      <span>{{$t('OnlineExcelPage.select_criteria_btn')}}</span>
       <i class="el-icon-close" @click="cancelHandle"/>
     </div>
     <div class="main">
@@ -28,9 +28,9 @@
 
       <div class="dia-bot">
         <el-button type="primary" style="margin-right: 20px" @click="insertData"
-          >插入值</el-button
+          >{{$t('OnlineExcelPage.insert_value_btn')}}</el-button
         >
-        <el-button type="primary" plain @click="cancelHandle">取消</el-button>
+        <el-button type="primary" plain @click="cancelHandle">{{$t('ETable.Btn.cancel_btn')}}</el-button>
       </div>
     </div>
     
@@ -97,7 +97,7 @@ export default {
       //   this.$message.warning('请在表格中选择日期')
       //   return
       // }
-      if(!this.chooseItem.value) return this.$message.warning('该日期无数据')
+      if(!this.chooseItem.value) return this.$message.warning(this.$t('OnlineExcelPage.there_data_no_msg') )
 
       this.$emit('insert',this.chooseItem)
       this.cancelHandle();

+ 1 - 1
src/views/datasheet_manage/components/sheetClassifyDia.vue

@@ -5,7 +5,7 @@
 		:visible.sync="isOpenDialog"
 		:close-on-click-modal="false"
 		:modal-append-to-body='false'
-    :title="title"
+    	:title="title"
 		@close="cancelHandle"
 		custom-class="dialog"
 		center

+ 4 - 4
src/views/datasheet_manage/components/sheetListWrap.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="sheet-list-cont">
-    <span>共{{ total }}张表格</span>
+    <span>{{$t('OnlineExcelPage.all_table_num',{count:total})}}</span>
     <div class="sheetlist-wrapper" ref="listRef" @scroll="$emit('loadMoreHandle')">
       <el-col
         :span="6"
@@ -20,14 +20,14 @@
             @click="$emit('detailShowHandle',cell)"
           />
           <div class="item-bottom">
-            <span>创建时间: {{ cell.CreateTime.slice(0, 10) }}</span>
+            <span>{{$t('OnlineExcelPage.creation_time_tle')}}: {{ cell.CreateTime.slice(0, 10) }}</span>
             <div>
               <span
                 v-if="$parent.isSheetBtnShow('download')"
                 class="editsty"
                 style="margin-right: 10px"
                 @click="$emit('downloadExcel',cell)"
-                >下载</span
+                >{{$t('ETable.Btn.download_btn')}}</span
               >
               <!-- <span
                 v-if=" $parent.isSheetBtnShow('del')"
@@ -41,7 +41,7 @@
       </el-col>
     </div>
     <div v-if="!total" class="nodata">
-      <tableNoData text="暂无表格"/>
+      <tableNoData :text="$t('OnlineExcelPage.no_table_available_show')"/>
     </div>
   </div>
 </template>

+ 5 - 5
src/views/datasheet_manage/customAnalysis/addAnalysisSheet.vue

@@ -191,7 +191,7 @@ export default {
         LuckyExcel.transformExcelToLucky(this.uploadSheetsList[Number(this.selectIndex)], (exportJson, luckysheetfile) =>{
                                   
           if(exportJson.sheets==null || exportJson.sheets.length==0){
-              this.$message.warning('解析文件失败')
+              this.$message.warning(this.$t('OnlineExcelPage.parsing_file_error_msg') )
               return;
           }
 
@@ -226,7 +226,7 @@ export default {
       this.loading = this.$loading({
 				target:'.addSheet-wrap',
 				lock: true,
-				text: '保存中...',
+				text: this.$t('OnlineExcelPage.saving_loading_text') ,
 				spinner: 'el-icon-loading',
 				background: 'rgba(255, 255, 255, 0.6)'
 			});
@@ -319,9 +319,9 @@ export default {
       let sheet = luckysheet.getSheet();
       let rangeArr = luckysheet.getRangeAxis();
 
-      if(rangeArr.length > 1) return this.$message.warning('同时只允许选择一块区域');
+      if(rangeArr.length > 1) return this.$message.warning(this.$t('OnlineExcelPage.select_one_region_msg') );
       //检查选取是否满足同行/同列
-      if(!this.checkRangeVaild(rangeArr[0])) return this.$message.warning('序列只允许选择同行或同列');
+      if(!this.checkRangeVaild(rangeArr[0])) return this.$message.warning(this.$t('OnlineExcelPage.only_allowed_select_msg') );
 
       let rangeCells = luckysheet.getRangeValue().flat().map(_=>_?_.m:'');
 
@@ -363,7 +363,7 @@ export default {
       this.loading = this.$loading({
 				target:'.addSheet-wrap',
 				lock: true,
-				text: '保存中...',
+				text: this.$t('OnlineExcelPage.saving_loading_text') ,
 				spinner: 'el-icon-loading',
 				background: 'rgba(255, 255, 255, 0.6)'
 			});

+ 6 - 6
src/views/datasheet_manage/customAnalysis/components/bottomSection.vue

@@ -4,7 +4,7 @@
     <!-- 无同名 -->
     <div>
       <div class="page-list" v-if="sheetPages.length">
-        <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange" style="margin-right:30px">全部</el-checkbox>
+        <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange" style="margin-right:30px">{{$t('ETable.Btn.all_btn')}}</el-checkbox>
         <el-checkbox-group v-model="sheetChecked" @change="handleCheckedChange">
           <el-checkbox v-for="item in sheetPages" :label="item" :key="item">{{item}}</el-checkbox>
         </el-checkbox-group>
@@ -13,7 +13,7 @@
       <div>
         <el-select 
           v-model="select_classify"
-          placeholder="请选择表格目录"
+          :placeholder="$t('OnlineExcelPage.select_table_contents')"
           clearable
           style="width:350px;"
         >
@@ -24,8 +24,8 @@
             :value="item.ExcelClassifyId"
           />
         </el-select>
-        <el-button type="primary" style="margin-left:30px" @click="saveSheetHandle">保存</el-button>
-          <el-tooltip class="item" effect="dark" content="根据用户选择的sheet页上传文件" placement="top-start">
+        <el-button type="primary" style="margin-left:30px" @click="saveSheetHandle">{{$t('ETable.Btn.save_btn')}}</el-button>
+          <el-tooltip class="item" effect="dark" :content="$t('OnlineExcelPage.the_sheet_page_selected')" placement="top-start">
           <i class="el-icon-warning"/>
         </el-tooltip>
       </div>
@@ -93,8 +93,8 @@ export default {
   },
   methods:{
     saveSheetHandle() {
-      if(!this.sheetChecked.length) return this.$message.warning('请选择要保存的sheet页')
-      if(!this.select_classify) return this.$message.warning('请选择分类')
+      if(!this.sheetChecked.length) return this.$message.warning(this.$t('OnlineExcelPage.please_select_sheet_msg') )
+      if(!this.select_classify) return this.$message.warning(this.$t('OnlineExcelPage.please_select_category_msg') )
 
       this.$emit('save')
     },

+ 21 - 18
src/views/datasheet_manage/customAnalysis/components/createTargetForm.vue

@@ -10,14 +10,14 @@
       :rules="formRules"
     >
       <el-form-item prop="dateSeries">
-        <el-input v-model="formData.dateSeries" placeholder="请选择日期序列" @focus="selectArea='date'" @change="changeFormat('date')" @keyup.native="e => { e.keyCode===13 && initSelect()}" :class="{'select': selectArea==='date'}"></el-input>
+        <el-input v-model="formData.dateSeries" :placeholder="$t('CustomAnalysisPage.select_date_sequence')" @focus="selectArea='date'" @change="changeFormat('date')" @keyup.native="e => { e.keyCode===13 && initSelect()}" :class="{'select': selectArea==='date'}"></el-input>
       </el-form-item>
       <el-form-item prop="valueSeries">
-        <el-input v-model="formData.valueSeries" placeholder="请选择数值序列" @focus="selectArea='value'" @change="changeFormat('value')" @keyup.native="e => { e.keyCode===13 && initSelect()}" :class="{'select': selectArea==='value'}"></el-input>
+        <el-input v-model="formData.valueSeries" :placeholder="$t('CustomAnalysisPage.select_date_numerical')" @focus="selectArea='value'" @change="changeFormat('value')" @keyup.native="e => { e.keyCode===13 && initSelect()}" :class="{'select': selectArea==='value'}"></el-input>
       </el-form-item>
 
       <el-form-item prop="edbName">
-        <el-input v-model="formData.edbName" placeholder="指标名称" @focus="initSelect"></el-input>
+        <el-input v-model="formData.edbName" :placeholder="$t('OnlineExcelPage.indicator_name_lbl')" @focus="initSelect"></el-input>
       </el-form-item>
       <el-form-item prop="classify">
         <el-cascader
@@ -33,13 +33,13 @@
             checkStrictly: true
           }"
           clearable
-          placeholder="请选择所属目录"
+          :placeholder="$t('CustomAnalysisPage.select_appropriate_category')"
         />
       </el-form-item>
       <el-form-item prop="frequency">
         <el-select
           v-model="formData.frequency"
-          placeholder="请选择频率"
+          :placeholder="$t('CustomAnalysisPage.select_frequency')"
           style="width: 100%"
           @focus="initSelect"
           clearable
@@ -58,8 +58,8 @@
       </el-form-item>
       
       <el-form-item>
-        <el-button type="primary" @click="handleSaveTarget">保存</el-button>
-        <el-button type="primary" plain @click="$parent.backHandle('into-detail')">返回</el-button>
+        <el-button type="primary" @click="handleSaveTarget">{{$t('ETable.Btn.save_btn')}}</el-button>
+        <el-button type="primary" plain @click="$parent.backHandle('into-detail')">{{$t('ETable.Btn.back_btn')}}</el-button>
       </el-form-item>
     </el-form>
   </div>
@@ -81,20 +81,23 @@ export default {
 				frequency: '',
 				unit:'',
       },
-      formRules: {
-        // dateSeries: [{ required: true, message: '日期序列不能为空', trigger: 'blur' }],
-        // valueSeries: [{ required: true, message: '数值序列不能为空', trigger: 'blur' }],
-        edbName: [{ required: true, message: '指标名称不能为空', trigger: 'blur' }],
-        classify: [{ required: true, message: '目录不能为空', trigger: 'blur' }],
-        frequency: [{ required: true, message: '频率不能为空', trigger: 'blur' }],
-        unit: [{ required: true, message: '单位不能为空', trigger: 'blur' }],
-      },
+
       frequencyArr:['日度','周度','旬度','月度','季度','年度'],
       classifyOption: [],
 
       isLockUpdate: false,//防止手动改变公式设置选区出发hook事件又更新公式和值 手动设置值即可
     };
   },
+  computed:{
+    formRules(){
+      return {
+        edbName: [{ required: true, message: this.$t('CustomAnalysisPage.rules_edbName') , trigger: 'blur' }],
+        classify: [{ required: true, message: this.$t('CustomAnalysisPage.rules_classify'), trigger: 'blur' }],
+        frequency: [{ required: true, message: this.$t('CustomAnalysisPage.rules_frequency') , trigger: 'blur' }],
+        unit: [{ required: true, message: this.$t('CustomAnalysisPage.rules_unit'), trigger: 'blur' }],
+      }
+    }
+  },
   methods: {
 
     /* 选区时更新公式 */
@@ -142,7 +145,7 @@ export default {
       //检查选取是否满足同行/同列
       if(!this.$parent.checkRangeVaild(rangeArr[0])){
         type==='date'?this.formData.dateSeries = '':this.formData.valueSeries ='';
-        return this.$message.warning('序列只允许选择同行或同列');
+        return this.$message.warning(this.$t('CustomAnalysisPage.only_allowed_select_msg') );
       } 
 
       let rangeCells = luckysheet.getRangeValue().flat().map(_=>_?_.m:'');
@@ -237,8 +240,8 @@ export default {
 
     /* 保存 */
     handleSaveTarget: _.debounce(async function() {
-      if(!this.formData.dateSeries) return this.$message.warning('日期序列不能为空')
-      if(!this.formData.valueSeries) return this.$message.warning('数值序列不能为空')
+      if(!this.formData.dateSeries) return this.$message.warning(this.$t('CustomAnalysisPage.date_sequence_cannot_msg') )
+      if(!this.formData.valueSeries) return this.$message.warning(this.$t('CustomAnalysisPage.numerical_sequence_cannot_msg') )
 
       await this.$refs.formRef.validate();
       this.initSelect();

+ 1 - 1
src/views/datasheet_manage/customAnalysis/components/rightSection.vue

@@ -11,7 +11,7 @@
         </li>
       </ul>
       <div style="padding-top: 50px;" v-else>
-        <tableNoData text="暂无指标"/>
+        <tableNoData :text="$t('Table.no_edb_msg')"/>
       </div>
     </div>
   </div>

+ 48 - 48
src/views/datasheet_manage/customAnalysis/list.vue

@@ -17,10 +17,10 @@
             :loading="isUploadLoading"
             @click="clickUpload"
             v-if="permissionBtn.checkPermissionBtn(permissionBtn.etaTablePermission.etaTable_analysis_upload)"
-          >上传文件</el-button>
+          >{{$t('CustomAnalysisPage.up_file_btn')}}</el-button>
           <input type="file" @change="fileSelected" id="file"  style="display: none;">
           
-          <el-checkbox v-model="isShowMe"  @change="() => { getTreeData();getPublicList() }">只看我的</el-checkbox>
+          <el-checkbox v-model="isShowMe"  @change="() => { getTreeData();getPublicList() }">{{$t('Chart.only_see_mine')}}</el-checkbox>
         </div>
         <div class="search-cont">
           <el-select
@@ -29,7 +29,7 @@
             :filterable="!search_txt"
             remote
             clearable
-            placeholder="表格名称"
+            :placeholder="$t('OnlineExcelPage.excel_name_ipt')"
             style="width: 100%"
             :remote-method="searchHandle"
             @focus="searchHandle('')"
@@ -58,7 +58,7 @@
             draggable
             :expand-on-click-node="false"
             check-strictly
-            empty-text="暂无分类"
+            :empty-text="$t('Common.no_classify_msg')"
             @node-expand="handleNodeExpand"
             @node-collapse="handleNodeCollapse"
             @current-change="nodeChange"
@@ -71,7 +71,7 @@
               <el-input
                 ref="editVal"
                 style="width: 90px"
-                placeholder="请输入值"
+                :placeholder="$t('OnlineExcelPage.please_value_ipt')"
                 class="label-input"
                 v-model="new_label"
                 v-if="data.isEdit&&isSheetBtnShow('classifyOpt_edit')"
@@ -120,7 +120,7 @@
               alt=""
               style="width: 16px; height: 16px; margin-right: 10px"
             />
-            <span>添加表格分类</span>
+            <span>{{$t('OnlineExcelPage.add_category_table_btn')}}</span>
           </div>
         </div>
         <span
@@ -145,7 +145,7 @@
             <el-input
               ref="sheetEditTitRef"
               style="width: 400px"
-              placeholder="请输入表格名称"
+              :placeholder="$t('OnlineExcelPage.please_table_name_ipt')"
               class="label-input"
               v-model="sheet_title"
               v-if="sheetDetailInfo.isEditTit"
@@ -158,25 +158,25 @@
               <i class="el-icon-edit"/>
             </div>
             <div class="sheet-anothor-info">
-              <span class="author">作者:{{ sheetDetailInfo.SysUserRealName }}</span>
+              <span class="author">{{$t('OnlineExcelPage.author_info')}}{{ sheetDetailInfo.SysUserRealName }}</span>
               <ul class="action-ul" v-if="sheetDetailInfo.Button">
-                <li style="color:#999999 ;">最近保存时间:{{ saveTime }}</li>
-                <el-tooltip effect="dark" content="在当前表格选择日期列和数据列生成指标" placement="top-start">
+                <li style="color:#999999 ;">{{$t('OnlineExcelPage.recent_save_time_info')}}{{ saveTime }}</li>
+                <el-tooltip effect="dark" :content="$t('CustomAnalysisPage.up_save_tooltip')" placement="top-start">
                     <li class="editsty" @click="HandleToPath" v-if="isSheetBtnShow('createedb')&&sheetDetailInfo.Button.OpEdbButton">
                       <img src="~@/assets/img/icons/choose_bluebg_new.png"/>
-                      <span>生成指标</span>
+                      <span>{{$t('CustomAnalysisPage.generate_indicators_btn')}}</span>
                     </li>
                 </el-tooltip>
 
                 <el-tooltip effect="dark" content="根据表格保存的最新内容,更新当前表格生成的所有指标" placement="top-start">
                     <li class="editsty" @click="refreshSheet" v-if="isSheetBtnShow('refresh')&&sheetDetailInfo.Button.RefreshEdbButton">
                       <img src="~@/assets/img/icons/refresh_blue_new.png"/>
-                      <span>{{ isEdbReFreshLoading?'指标刷新中...':'刷新指标'}}</span>
+                      <span>{{ isEdbReFreshLoading? $t('CustomAnalysisPage.refreshing_loading'):$t('CustomAnalysisPage.refresh_loading')}}</span>
                     </li>
                 </el-tooltip>
                 <li class="editsty" @click="saveHandle" v-if="isSheetBtnShow('save')&&sheetDetailInfo.Button.OpButton">
                   <img src="~@/assets/img/icons/save_blue_new.png"/>
-                  <span>保存</span>
+                  <span>{{$t('ETable.Btn.save_btn')}}</span>
                 </li>
                 <!-- <li
                   class="editsty"
@@ -192,12 +192,12 @@
                   v-if="isSheetBtnShow('otherSave')&&sheetDetailInfo.Button.CopyButton"
                 >
                   <img src="~@/assets/img/icons/save_as_blue_new.png"/>
-                  <span>另存为</span>
+                  <span>{{$t('ETable.Btn.save_as')}}</span>
                 </li>
                 <li class="editsty" @click="downloadExcel
                 (sheetDetailInfo)" v-if="isSheetBtnShow('download')&&sheetDetailInfo.Button.DownloadButton">
                   <img src="~@/assets/img/icons/download_blue.png"/>
-                  <span>下载</span>
+                  <span>{{$t('ETable.Btn.download_btn')}}</span>
                 </li>
                 <li
                   class="deletesty"
@@ -205,7 +205,7 @@
                   @click="delSheetHandle({cell:sheetDetailInfo, type:'del'})"
                 >
                   <img src="~@/assets/img/icons/delete-red.png"/>
-                  <span>删除</span>
+                  <span>{{$t('ETable.Btn.delete_btn')}}</span>
                 </li>
               </ul>
             </div>
@@ -251,7 +251,7 @@
     <m-dialog
       :show.sync="isSaveOther"
       width="650px"
-      title="另存为"
+      :title="$t('ETable.Btn.save_as')"
       @close="cancelSaveOther"
     >
       <div style="padding-left: 80px">
@@ -263,14 +263,14 @@
           :model="saveOtherForm"
           :rules="saveOtherFormRule"
         >
-          <el-form-item label="表格名称" prop="name">
+          <el-form-item :label="$t('OnlineExcelPage.excel_name_ipt')" prop="name">
             <el-input
               v-model="saveOtherForm.name"
               style="width: 80%"
-              placeholder="请输入表格名称"
+              :placeholder="$t('OnlineExcelPage.please_table_name_ipt')"
             />
           </el-form-item>
-          <el-form-item label="表格分类" prop="classify">
+          <el-form-item :label="$t('OnlineExcelPage.table_classification_label')" prop="classify">
             <el-cascader
               v-model="saveOtherForm.classify"
               :options="classifyOptions"
@@ -281,7 +281,7 @@
                 emitPath: false,
               }"
               style="width: 80%"
-              placeholder="请选择所属分类"
+              :placeholder="$t('OnlineExcelPage.select_appropriate_category_lable')"
               class="sheet-classify-cascader"
             />
           </el-form-item>
@@ -292,10 +292,10 @@
           type="primary"
           style="margin-right: 60px"
           @click="saveCopyOther"
-          >保存</el-button
+          >{{$t('Dialog.confirm_save_btn')}}</el-button
         >
         <el-button type="primary" plain @click="cancelSaveOther"
-          >取消</el-button
+          >{{$t('Dialog.cancel_btn')}}</el-button
         >
       </div>
     </m-dialog>
@@ -493,7 +493,7 @@ export default {
 
     /* 添加一级目录 */
     addLevelOneHandle() {
-      this.dialog_title = "添加";
+      this.dialog_title =  this.$t('ETable.Btn.add_btn');
       this.classifyForm = {
         classify_name: "",
       };
@@ -502,7 +502,7 @@ export default {
 
     /* 编辑节点 */
     editNode(node, { ExcelClassifyName, ExcelClassifyId }) {
-      this.dialog_title = "编辑";
+      this.dialog_title = this.$t('ETable.Btn.edit_btn');
       /* 编辑目录 */
       this.classifyForm = {
         classify_name: ExcelClassifyName,
@@ -521,20 +521,20 @@ export default {
       const { DeleteStatus } = Data;
 
       DeleteStatus === 1
-        ? this.$confirm("该分类下关联表格不可删除", "删除失败", {
-            confirmButtonText: "知道了",
-            showCancelButton: false,
-            type: "error",
-          })
-        : DeleteStatus === 0 && !ExcelInfoId
-        ? this.$confirm("确定删除当前分类吗?", "提示", {
-            confirmButtonText: "确定",
-            cancelButtonText: "取消",
-            type: "warning",
-          }).then(() => {
-            this.delApi(ExcelClassifyId, ExcelInfoId);
-          })
-        : null;
+      ? this.$confirm(this.$t('OnlineExcelPage.the_tables_no_delete_msg') ,this.$t('MsgPrompt.delete_fail_msg') , {
+          confirmButtonText: this.$t('MsgPrompt.known') ,
+          showCancelButton: false,
+          type: "error",
+        })
+      : DeleteStatus === 0 && !ExcelInfoId
+      ? this.$confirm(this.$t('Chart.OptMsg.classify_del_confirm') , this.$('Confirm.prompt') , {
+          confirmButtonText:  this.$t('Dialog.confirm_btn'),
+          cancelButtonText: this.$t('Dialog.cancel_btn'),
+          type: "warning",
+        }).then(() => {
+          this.delApi(ExcelClassifyId, ExcelInfoId);
+        })
+      : null;
     },
 
     /* 删除方法 */
@@ -623,7 +623,7 @@ export default {
       this.loading = this.$loading({
         target: ".dataSheet-container",
         lock: true,
-        text: "保存中...",
+        text: this.$t('MsgPrompt.saveing_msg') + "...",
         spinner: "el-icon-loading",
         background: "rgba(255, 255, 255, 0.6)",
       });
@@ -646,7 +646,7 @@ export default {
       this.loading.close();
       if (res.Ret !== 200) return;
       this.saveTime = this.$moment().format('YYYY-MM-DD HH:mm:ss')
-      this.$message.success("保存成功");
+      this.$message.success(this.$t('MsgPrompt.saved_msg'));
       this.getTreeData();
     }, 300),
 
@@ -748,9 +748,9 @@ export default {
     /* 删除表格 */
     delSheetHandle({cell, type = ""}) {
       const { ExcelClassifyId, ExcelInfoId  } = cell;
-      this.$confirm("删除后该表格将不能再引用,确认删除吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
+      this.$confirm(this.$t('ETable.Msg.is_del_table_msg') , this.$t('Confirm.prompt') , {
+        confirmButtonText:  this.$t('Dialog.confirm_btn'),
+        cancelButtonText: this.$t('Dialog.cancel_btn'),
         type: "warning",
       })
         .then(() => {
@@ -787,7 +787,7 @@ export default {
 
       if (res.Ret !== 200) return;
 
-      this.$message.success("保存成功");
+      this.$message.success(this.$t('MsgPrompt.saved_msg'));
       this.cancelSaveOther();
       this.getTreeData();
     },
@@ -820,12 +820,12 @@ export default {
     async fileSelected(){ 
       let file = document.getElementById('file').files[0];
       if(file){
-        if(!file.name.includes('.xlsx')) return this.$message.warning("上传失败,格式不符合xlsx");
-        if(file.size > 5.1*1024*1024) return this.$message.warning("上传文件最大不能超过5M");
+        if(!file.name.includes('.xlsx')) return this.$message.warning(this.$t('CustomAnalysisPage.no_file_type_msg') );
+        if(file.size > 5.1*1024*1024) return this.$message.warning(this.$t('CustomAnalysisPage.up_file_five_msg') );
 
 
         const res = await sheetInterface.sheetAnalysisInterface.checkSheetRepeat({ExcelName: file.name})
-        if(res.Data.IsFind) return this.$message.warning('已有同名文件,请上传新文件')
+        if(res.Data.IsFind) return this.$message.warning(this.$t('CustomAnalysisPage.up_new_file_msg') )
 
         this.$store.commit('sheet/SET_UPLOADFIlES',[file])
         this.$router.push({ path: '/addAnalysisSheet' });

+ 24 - 19
src/views/datasheet_manage/customSheetEdit.vue

@@ -9,10 +9,10 @@
         />
         <div>
           <div v-if="saveTime" style="color:#999999;margin-right:30px ;">
-            最近保存时间:{{ saveTime }}
+            {{$t('OnlineExcelPage.recent_save_time_info')}}{{ saveTime }}
           </div>
-          <el-button type="primary" size="medium" @click="saveSheetHandle" v-if="hasPermission">保存</el-button>
-          <el-button type="primary" size="medium" plain @click="backHandle">返回</el-button>
+          <el-button type="primary" size="medium" @click="saveSheetHandle" v-if="hasPermission">{{$t('ETable.Btn.save_btn')}}</el-button>
+          <el-button type="primary" size="medium" plain @click="backHandle">{{$t('ETable.Btn.back_btn')}}</el-button>
         </div>
       </div>
       <div class="wrap-top-bottom">
@@ -20,7 +20,7 @@
           <li>
             <el-input
               v-model="sheetForm.name"
-              placeholder="请输入表格名称"
+              :placeholder="$t('OnlineExcelPage.please_table_name_ipt')"
               style="width:240px"
               clearable>
             </el-input>
@@ -28,7 +28,7 @@
           <li>
             <el-select 
               v-model="sheetForm.classify" 
-              placeholder="请选择表格分类"
+              :placeholder="$t('OnlineExcelPage.select_table_category')"
               style="width:240px;"
               clearable
             >
@@ -54,7 +54,7 @@
               </el-select>
           </li>
           <li>
-            表格说明
+            {{$t('OnlineExcelPage.table_explaination_text')}}
             <el-tooltip
               effect="dark"
             >
@@ -110,6 +110,15 @@ export default {
       return this.sheetButton?
             this.permissionBtn.isShowBtn('etaTablePermission','etaTable_customize_data_save')&&this.sheetButton.OpButton:
             this.permissionBtn.isShowBtn('etaTablePermission','etaTable_customize_data_save')
+    },
+    rules(){
+      return this.$t('OnlineExcelPage.TableInstructionsText') 
+    },
+    sheetTypeOption(){
+      return [
+        { key: 1,label: this.$t('OnlineExcelPage.data_row_label')},
+        { key: 2,label: this.$t('OnlineExcelPage.data_column_label')},
+      ]
     }
   },
   // beforeRouteLeave(to,from,next){
@@ -122,15 +131,11 @@ export default {
     return {
       sheetId: this.$route.query.id || '',
       classifyArr: [],
-      rules: `表格说明:<br>
-        从ETA指标库和ETA预测指标库向表格添加指标,以第一个添加指标的日期序列为准,默认取最新12个值的日期,其他指标匹配日期,若某日期无值,则通过线性插值法【(Y-Y1)/(X-X1)=(Y2-Y1)/(X2-X1)】计算填入,区分颜色表示,日期默认降序,可切换排序,指标更新时,日期和数据值自动更新;`,
+
       sheetForm: {
         sheetType: 1
       },
-      sheetTypeOption: [
-        { key: 1,label: '指标列+日期行' },
-        { key: 2,label: '指标行+日期列' },
-      ],
+
       saveTime:"",
       sheetInit:false,
       isCanEdit:false,
@@ -157,7 +162,7 @@ export default {
       if(res.Ret !== 200)  return
       this.isCanEdit = res.Data.CanEdit
       if(!res.Data.CanEdit){
-        this.$message.warning(`${res.Data.Editor}正在编辑中`)
+        this.$message.warning(`${res.Data.Editor}${this.$t('OnlineExcelPage.currently_editing_msg') }`)
         setTimeout(()=>{
           this.backHandle()
         },1000)
@@ -183,7 +188,7 @@ export default {
       if(!e) return
 
       const { EdbName,EdbInfoId,Unit,Frequency } = e;
-      if(this.$refs.customTableRef.config.data.find(_ => _.EdbInfoId===EdbInfoId)) return this.$message.warning('指标已存在')
+      if(this.$refs.customTableRef.config.data.find(_ => _.EdbInfoId===EdbInfoId)) return this.$message.warning(this.$t('OnlineExcelPage.already_exists_msg') )
       
       const {Data} = this.$refs.customTableRef.config.data.length 
       ? await sheetInterface.getEdbInsertDataOther({
@@ -222,8 +227,8 @@ export default {
       // console.log("触发自动",this.cancelAutoSave);
       if(!this.sheetId || this.cancelAutoSave) return 
       const { name,classify,sheetType } = this.sheetForm;
-      if(!name || !classify) return this.$message.warning(name ? '请选择表格分类' : '请输入表格名称')
-      if(!document.getElementsByClassName('table')[0]) return this.$message.warning('请添加表格')
+      if(!name || !classify) return this.$message.warning(name ? this.$t('OnlineExcelPage.select_table_category')  : this.$t('OnlineExcelPage.please_table_name_ipt') )
+      if(!document.getElementsByClassName('table')[0]) return this.$message.warning(this.$t('OnlineExcelPage.please_add_table_msg') )
       let params = {
         ExcelName: name,
         ExcelType: sheetType,
@@ -248,9 +253,9 @@ export default {
     /* 保存表格 */
     saveSheetHandle: _.debounce(async function() {
       const { name,classify,sheetType } = this.sheetForm;
-      if(!name || !classify) return this.$message.warning(name ? '请选择表格分类' : '请输入表格名称')
+      if(!name || !classify) return this.$message.warning(name ? this.$t('OnlineExcelPage.select_table_category')  : this.$t('OnlineExcelPage.please_table_name_ipt') )
 
-      if(!document.getElementsByClassName('table')[0]) return this.$message.warning('请添加表格')
+      if(!document.getElementsByClassName('table')[0]) return this.$message.warning(this.$t('OnlineExcelPage.please_add_table_msg') )
 
       let canvas = await html2canvas(document.getElementsByClassName('table')[0],{
         scale:2,
@@ -290,7 +295,7 @@ export default {
         return 
       }
       this.sheetId = this.sheetId || res.Data.ExcelInfoId;
-      this.$message.success('保存成功')
+      this.$message.success(this.$t('MsgPrompt.saved_msg') )
       this.saveTime =  this.$moment().format('YYYY-MM-DD HH:mm:ss')
       
       isAdd && this.$router.replace({path:'/addCustomSheet',query:{id:this.sheetId}})

+ 16 - 16
src/views/datasheet_manage/mixedSheetEdit.vue

@@ -5,7 +5,7 @@
         <li>
           <el-input
             v-model="sheetForm.name"
-            placeholder="请输入表格名称"
+           :placeholder="$t('OnlineExcelPage.please_table_name_ipt')"
             style="width:240px"
             clearable>
           </el-input>
@@ -13,7 +13,7 @@
         <li>
           <el-select 
             v-model="sheetForm.classify" 
-            placeholder="请选择表格分类"
+            :placeholder="$t('OnlineExcelPage.select_table_category')"
             clearable
             style="min-width:240px"
           >
@@ -26,7 +26,7 @@
 						</el-select>
         </li>
         <li>
-          表格说明
+          {{$t('OnlineExcelPage.table_explaination_text')}}
           <el-tooltip
             effect="dark"
           >
@@ -40,9 +40,9 @@
         </li>
       </ul>
       <div>
-        <span v-if="updateTime" style="color:#999999 ;">最近保存时间:{{updateTime}}</span>
-        <el-button type="primary" size="medium" @click="saveSheetHandle" style="margin-left:10px" v-if="hasPermission">保存</el-button>
-        <el-button type="primary" size="medium" plain @click="backHandle">返回</el-button>
+        <span v-if="updateTime" style="color:#999999 ;">{{$t('OnlineExcelPage.recent_save_time_info')}}:{{updateTime}}</span>
+        <el-button type="primary" size="medium" @click="saveSheetHandle" style="margin-left:10px" v-if="hasPermission">{{$t('ETable.Btn.save_btn')}}</el-button>
+        <el-button type="primary" size="medium" plain @click="backHandle">{{$t('ETable.Btn.back_btn')}}</el-button>
       </div>
     </div>
     
@@ -84,6 +84,9 @@ export default {
       return this.sheetButton?
               this.permissionBtn.isShowBtn('etaTablePermission','etaTable_customize_mix_save')&&this.sheetButton.OpButton:
               this.permissionBtn.isShowBtn('etaTablePermission','etaTable_customize_mix_save')
+    },
+    rules(){
+      return this.$t('OnlineExcelPage.TableInstructionsText') ||''
     }
   },
   // beforeRouteLeave(to,from,next){
@@ -96,10 +99,7 @@ export default {
     return {
       sheetId: this.$route.query.id || '',
       classifyArr: [],
-      rules: `表格说明:<br>
-        1、手动输入:单击每个单元格可直接输入文本、数字、日期(格式示例:2023-05-23),输入内容可匹配指标名称,ETA指标库和ETA预测指标库指标均可搜索,在下拉框中选择指标,则该单元格为已选指标行/列。<br>
-        2、插入指标值:右键单元格,点击“插入指标值”,则查询该单元格行、列最近的日期和指标名称,将查找到的指标对应日期的值填入该单元格,指标值总是在右下角。<br>
-        3、更新与计算规则:表格中指标值的日期不自动更新,数值不支持单元格计算`,
+
       sheetForm: {
         sheetType: 1
       },
@@ -134,7 +134,7 @@ export default {
       if(res.Ret !== 200)  return
       this.isCanEdit = res.Data.CanEdit
       if(!res.Data.CanEdit){
-        this.$message.warning(`${res.Data.Editor}正在编辑中`)
+        this.$message.warning(`${res.Data.Editor}${this.$t('OnlineExcelPage.currently_editing_msg') }`)
         setTimeout(()=>{
           this.backHandle()
         },2000)
@@ -167,9 +167,9 @@ export default {
     autoSaveFun:_.debounce(async function(){
       if(!this.sheetId || this.cancelAutoSave) return 
       const { name,classify,sheetType } = this.sheetForm;
-      if(!name || !classify) return this.$message.warning(name ? '请选择表格分类' : '请输入表格名称')
+      if(!name || !classify) return this.$message.warning(name ? this.$t('OnlineExcelPage.select_table_category')  : this.$t('OnlineExcelPage.please_table_name_ipt') )
       let checkAllEmpty = this.$refs.mixedTableRef.config.data.flat(1).some(_ => _.ShowValue);
-      if(!checkAllEmpty) return this.$message.warning('请输入表格内容')
+      if(!checkAllEmpty) return this.$message.warning(this.$t('OnlineExcelPage.input_content_msg') )
       let params = {
         ExcelName: name,
         ExcelType: 1,
@@ -195,10 +195,10 @@ export default {
     saveSheetHandle: _.debounce(async function() {
 
       const { name,classify,sheetType } = this.sheetForm;
-      if(!name || !classify) return this.$message.warning(name ? '请选择表格分类' : '请输入表格名称')
+      if(!name || !classify) return this.$message.warning(name ? this.$t('OnlineExcelPage.select_table_category')  : this.$t('OnlineExcelPage.please_table_name_ipt') )
 
       let checkAllEmpty = this.$refs.mixedTableRef.config.data.flat(1).some(_ => _.ShowValue);
-      if(!checkAllEmpty) return this.$message.warning('请输入表格内容')
+      if(!checkAllEmpty) return this.$message.warning(this.$t('OnlineExcelPage.input_content_msg') )
 
       let canvas = await html2canvas(document.getElementsByClassName('table')[0],{
         scale:2,
@@ -237,7 +237,7 @@ export default {
       this.updateTime = this.$moment().format('YYYY-MM-DD HH:mm:ss')
       
       this.sheetId = this.sheetId || res.Data.ExcelInfoId;
-      this.$message.success('保存成功')
+      this.$message.success(this.$t('MsgPrompt.saved_msg') )
       isAdd && this.$router.replace({path:'/addMixedSheet',query:{id:this.sheetId}})
     },300),
 

+ 4 - 4
src/views/datasheet_manage/mixins/classifyMixin.js

@@ -107,12 +107,12 @@ export default {
 		/* input失去焦点恢复node 修改最新的值*/
 		changeValue(data,type='') {
       if(type === 'edit-tit') {
-        if(!this.sheet_title) return this.$message.warning('表格名称不能为空');
+        if(!this.sheet_title) return this.$message.warning(this.$t('OnlineExcelPage.table_name_empty_msg') );
         data.isEditTit = false;
         data.ExcelName = this.sheet_title;
         console.log(data,'data');
       }else {
-        if(!this.new_label) return this.$message.warning('名称不能为空');
+        if(!this.new_label) return this.$message.warning(this.$t('OnlineExcelPage.name_empty_msg') );
         this.$set(data,'isEdit',false)
   
         this.new_label !== data.ClassifyName && sheetInterface.classifyEdit({
@@ -171,7 +171,7 @@ export default {
         })
         .then((res) => {
           if (res.Ret !== 200) return;
-          this.$message.success("移动成功!");
+          this.$message.success(this.$t('ETable.Msg.move_success_msg'));
           this.getTreeData();
         });
     },
@@ -216,7 +216,7 @@ export default {
         })
         .then((res) => {
           if (res.Ret !== 200) return;
-          this.$message.success("移动成功!");
+          this.$message.success(this.$t('ETable.Msg.move_success_msg'));
           this.getTreeData();
         });
 

+ 45 - 45
src/views/datasheet_manage/sheetList.vue

@@ -11,9 +11,9 @@
       <div class="main-left left" id="left" v-show="!isSlideLeft">
         <div class="datasheet_top">
           <el-button v-if="permissionBtn.checkPermissionBtn(permissionBtn.etaTablePermission.etaTable_excel)&&sourceMap[$route.path]===1" type="primary" style="margin-right:20px" @click="goAddSheetHandle"
-          >添加Excel表格</el-button >
-          <el-button v-if="permissionBtn.checkPermissionBtn(permissionBtn.etaTablePermission.etaTable_customize_data_sheetAdd)&&sourceMap[$route.path]===2" type="primary" style="margin-right:20px" @click="goAddSheetHandle">添加时间序列表格</el-button >
-          <el-button v-if="permissionBtn.checkPermissionBtn(permissionBtn.etaTablePermission.etaTable_customize_mix_sheetAdd)&&sourceMap[$route.path]===3" type="primary" @click="goAddSheetHandle">添加混合表格</el-button >
+          >{{$t('OnlineExcelPage.add_excel_btn')}}</el-button >
+          <el-button v-if="permissionBtn.checkPermissionBtn(permissionBtn.etaTablePermission.etaTable_customize_data_sheetAdd)&&sourceMap[$route.path]===2" type="primary" style="margin-right:20px" @click="goAddSheetHandle">{{$t('OnlineExcelPage.add_timeline_table_btn')}}</el-button >
+          <el-button v-if="permissionBtn.checkPermissionBtn(permissionBtn.etaTablePermission.etaTable_customize_mix_sheetAdd)&&sourceMap[$route.path]===3" type="primary" @click="goAddSheetHandle">{{$t('OnlineExcelPage.add_mixed_table_btn')}}</el-button >
 
         </div>
         <div class="search-cont">
@@ -23,7 +23,7 @@
             :filterable="!search_txt"
             remote
             clearable
-            placeholder="表格名称"
+            :placeholder="$t('OnlineExcelPage.excel_name_ipt')"
             style="width: 100%"
             :remote-method="searchHandle"
             @focus="searchHandle('')"
@@ -52,7 +52,7 @@
             draggable
             :expand-on-click-node="false"
             check-strictly
-            empty-text="暂无分类"
+            :empty-text="$t('Common.no_classify_msg')"
             @node-expand="handleNodeExpand"
             @node-collapse="handleNodeCollapse"
             @current-change="nodeChange"
@@ -65,7 +65,7 @@
               <el-input
                 ref="editVal"
                 style="width: 90px"
-                placeholder="请输入值"
+                :placeholder="$t('OnlineExcelPage.please_value_ipt')"
                 class="label-input"
                 v-model="new_label"
                 v-if="data.isEdit&&isSheetBtnShow('classifyOpt_edit')"
@@ -114,7 +114,7 @@
               alt=""
               style="width: 16px; height: 16px; margin-right: 10px"
             />
-            <span>添加表格分类</span>
+            <span>{{$t('OnlineExcelPage.add_category_table_btn')}}</span>
           </div>
         </div>
         <span
@@ -139,7 +139,7 @@
             <el-input
               ref="sheetEditTitRef"
               style="width: 400px"
-              placeholder="请输入表格名称"
+              :placeholder="$t('OnlineExcelPage.please_table_name_ipt')"
               class="label-input"
               v-model="sheet_title"
               v-if="sheetDetailInfo.isEditTit"
@@ -157,16 +157,16 @@
               {{ sheetDetailInfo.ExcelName }}
             </div> -->
             <div class="sheet-anothor-info">
-              <span class="author">作者:{{ sheetDetailInfo.SysUserRealName }}</span>
+              <span class="author">{{$t('OnlineExcelPage.author_info')}}{{ sheetDetailInfo.SysUserRealName }}</span>
               <ul class="action-ul">
-                <li style="color:#999999 ;">最近保存时间:{{ saveTime }}</li>
+                <li style="color:#999999 ;">{{$t('OnlineExcelPage.recent_save_time_info')}}{{ saveTime }}</li>
                 <li
                   class="editsty"
                   @click="goEditHandle"
                   v-if="(sheetDetailInfo.Button && sheetDetailInfo.Button.OpButton&&isSheetBtnShow('edit') && (!onlineExcelEditing))"
                 >
                   <img src="~@/assets/img/icons/edit_blue_new.png" v-if="!editButtonText"/>
-                  <span>{{ editButtonText?editButtonText:'编辑' }}</span> 
+                  <span>{{ editButtonText?editButtonText:$t('ETable.Btn.edit_btn') }}</span> 
                 </li>
                 <li
                   class="editsty"
@@ -174,7 +174,7 @@
                   v-if="(sheetDetailInfo.Button && sheetDetailInfo.Button.OpButton&&isSheetBtnShow('save') && onlineExcelEditing)"
                 >
                   <img src="~@/assets/img/icons/save_blue_new.png"/>
-                  <span>保存</span> 
+                  <span>{{$t('ETable.Btn.save_btn')}}</span> 
                 </li>
                 <template v-if="[2, 3].includes(sheetDetailInfo.Source)">
                   <li
@@ -183,7 +183,7 @@
                     v-if="sheetDetailInfo.Button.RefreshButton&&isSheetBtnShow('refresh')"
                   >
                   <img src="~@/assets/img/icons/refresh_blue_new.png"/>
-                    <span>刷新</span>
+                    <span>{{$t('ETable.Btn.refresh_btn')}}</span>
                   </li>
                   <li
                     class="editsty"
@@ -191,13 +191,13 @@
                     v-if="sheetDetailInfo.Button.CopyButton&&isSheetBtnShow('otherSave')"
                   >
                     <img src="~@/assets/img/icons/save_as_blue_new.png"/>
-                    <span>另存为</span>
+                    <span>{{$t('ETable.Btn.save_as')}}</span>
                   </li>
                 </template>
                 <li v-if="isSheetBtnShow('download')"
                   class="editsty" @click="downloadExcel(sheetDetailInfo)">
                   <img src="~@/assets/img/icons/download_blue.png"/>
-                  <span>下载</span>
+                  <span>{{$t('ETable.Btn.download_btn')}}</span>
                 </li>
                 <li
                   class="deletesty"
@@ -207,7 +207,7 @@
                   @click="delSheetHandle({cell:sheetDetailInfo, type:'del'})"
                 >
                   <img src="~@/assets/img/icons/delete-red.png"/>
-                  <span>删除</span>
+                  <span>{{$t('ETable.Btn.delete_btn')}}</span>
                 </li>
               </ul>
             </div>
@@ -278,7 +278,7 @@
     <m-dialog
       :show.sync="isSaveOther"
       width="650px"
-      title="另存为"
+      :title="$t('ETable.Btn.save_as')"
       @close="cancelSaveOther"
     >
       <div style="padding-left: 80px">
@@ -290,14 +290,14 @@
           :model="saveOtherForm"
           :rules="saveOtherFormRule"
         >
-          <el-form-item label="表格名称" prop="name">
+          <el-form-item :label="$t('OnlineExcelPage.excel_name_ipt')" prop="name">
             <el-input
               v-model="saveOtherForm.name"
               style="width: 80%"
-              placeholder="请输入表格名称"
+              :placeholder="$t('OnlineExcelPage.please_table_name_ipt')"
             />
           </el-form-item>
-          <el-form-item label="表格分类" prop="classify">
+          <el-form-item :label="$t('OnlineExcelPage.table_classification_label')" prop="classify">
             <el-cascader
               v-model="saveOtherForm.classify"
               :options="classifyOptions"
@@ -308,7 +308,7 @@
                 emitPath: false,
               }"
               style="width: 80%"
-              placeholder="请选择所属分类"
+              :placeholder="$t('OnlineExcelPage.select_appropriate_category_lable')"
               class="sheet-classify-cascader"
             />
           </el-form-item>
@@ -319,10 +319,10 @@
           type="primary"
           style="margin-right: 60px"
           @click="saveCopyOther"
-          >保存</el-button
+          >{{$t('Dialog.confirm_save_btn')}}</el-button
         >
         <el-button type="primary" plain @click="cancelSaveOther"
-          >取消</el-button
+          >{{$t('Dialog.cancel_btn')}}</el-button
         >
       </div>
     </m-dialog>
@@ -483,7 +483,7 @@ export default {
   methods: {
     /* 添加表格 */
     goAddSheetHandle() {
-      if (!this.treeData.length) return this.$message.warning("请先添加表格分类");
+      if (!this.treeData.length) return this.$message.warning(this.$t('OnlineExcelPage.please_table_classification_msg') );
       let type = this.sourceMap[this.$route.path];
 
       let path = {
@@ -549,7 +549,7 @@ export default {
 
     /* 添加一级目录 */
     addLevelOneHandle() {
-      this.dialog_title = "添加";
+      this.dialog_title = this.$t('ETable.Btn.add_btn') ;
       this.classifyForm = {
         classify_name: "",
       };
@@ -558,7 +558,7 @@ export default {
 
     /* 编辑节点 */
     editNode(node, { ExcelClassifyName, ExcelClassifyId }) {
-      this.dialog_title = "编辑";
+      this.dialog_title = this.$t('ETable.Btn.edit_btn');
       /* 编辑目录 */
       this.classifyForm = {
         classify_name: ExcelClassifyName,
@@ -577,15 +577,15 @@ export default {
       const { DeleteStatus } = Data;
 
       DeleteStatus === 1
-        ? this.$confirm("该分类下关联表格不可删除", "删除失败", {
-            confirmButtonText: "知道了",
+        ? this.$confirm(this.$t('OnlineExcelPage.the_tables_no_delete_msg') , this.$t('MsgPrompt.delete_fail_msg') , {
+            confirmButtonText: this.$t('MsgPrompt.known') ,
             showCancelButton: false,
             type: "error",
           })
         : DeleteStatus === 0 && !ExcelInfoId
-        ? this.$confirm("确定删除当前分类吗?", "提示", {
-            confirmButtonText: "确定",
-            cancelButtonText: "取消",
+        ? this.$confirm(this.$t('Chart.OptMsg.classify_del_confirm') , this.$t('Confirm.prompt') , {
+            confirmButtonText:  this.$t('Dialog.confirm_btn'),
+            cancelButtonText: this.$t('Dialog.cancel_btn'),
             type: "warning",
           }).then(() => {
             this.delApi(ExcelClassifyId, ExcelInfoId);
@@ -691,12 +691,12 @@ export default {
       luckysheet.exitEditMode();
       //结构类型乱飘 强制定义下
       let data = {...luckysheet.getAllSheets()[0],status:Number(luckysheet.getAllSheets()[0].status)}
-      if (!data.celldata.length) return this.$message.warning("请输入表格内容");
+      if (!data.celldata.length) return this.$message.warning(this.$t('OnlineExcelPage.input_content_msg') );
 
       this.loading = this.$loading({
         target: ".dataSheet-container",
         lock: true,
-        text: "保存中...",
+        text: this.$t('MsgPrompt.saveing_msg') + "...",
         spinner: "el-icon-loading",
         background: "rgba(255, 255, 255, 0.6)",
       });
@@ -723,10 +723,10 @@ export default {
         this.$message.warning(res.Data.Msg)
         this.refreshOnlineExcel()
         this.onlineExcelEditing=false
-        this.editButtonText = `${res.Data.Editor}编辑中`
+        this.editButtonText = `${res.Data.Editor}${this.$t('OnlineExcelPage.editing_msg')}`
         return 
       }
-      this.$message.success("保存成功");
+      this.$message.success(this.$t('MsgPrompt.saved_msg') );
       this.markFinishStatus()
 
       this.getTreeData();
@@ -741,7 +741,7 @@ export default {
       luckysheet.exitEditMode();
       //结构类型乱飘 强制定义下
       let data = {...luckysheet.getAllSheets()[0],status:Number(luckysheet.getAllSheets()[0].status)}
-      if (!data.celldata.length) return this.$message.warning("请输入表格内容");
+      if (!data.celldata.length) return this.$message.warning(this.$t('OnlineExcelPage.input_content_msg') );
 
       data.luckysheet_select_save = [];
       const { ExcelInfoId, ExcelName, ExcelClassifyId } = this.sheetDetailInfo;
@@ -756,7 +756,7 @@ export default {
         this.$message.warning(res.Data.Msg)
         this.refreshOnlineExcel()
         this.onlineExcelEditing=false
-        this.editButtonText = `${res.Data.Editor}编辑中`
+        this.editButtonText = `${res.Data.Editor}${this.$t('OnlineExcelPage.editing_msg') }`
         this.autoSaveType=''
         return 
       }
@@ -814,7 +814,7 @@ export default {
 
           this.sheetDetailInfo = res.Data;
           this.saveTime = this.$moment(this.sheetDetailInfo.ModifyTime).format('YYYY-MM-DD HH:mm:ss')||''
-          this.editButtonText = this.sheetDetailInfo.CanEdit?'':`${this.sheetDetailInfo.Editor}编辑中`
+          this.editButtonText = this.sheetDetailInfo.CanEdit?'':`${this.sheetDetailInfo.Editor}${this.$t('OnlineExcelPage.editing_msg')}`
 
           this.$nextTick(() => {
             //sheet组件Mounted已经init一次,再次调用会导致工具栏样式错乱
@@ -832,9 +832,9 @@ export default {
     /* 删除表格 */
     delSheetHandle({cell, type = ""}) {
       const { ExcelClassifyId, ExcelInfoId  } = cell;
-      this.$confirm("删除后该表格将不能再引用,确认删除吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
+      this.$confirm(this.$t('ETable.Msg.is_del_table_msg') , this.$t('Confirm.prompt') , {
+        confirmButtonText:  this.$t('Dialog.confirm_btn'),
+        cancelButtonText: this.$t('Dialog.cancel_btn'),
         type: "warning",
       })
         .then(() => {
@@ -854,7 +854,7 @@ export default {
             3: "/addMixedSheet",
           };
           if(this.sheetDetailInfo.Source === 1) {
-            if(this.editButtonText.indexOf('编辑中')!=-1){
+            if(this.editButtonText.indexOf(this.$t('OnlineExcelPage.editing_msg'))!=-1){
               // 编辑中的状态 重新获取最新的详情数据
               this.refreshOnlineExcel()
             }
@@ -868,7 +868,7 @@ export default {
           }
 
         }else if(res.Data.Status==1){
-          this.editButtonText = `${res.Data.Editor}编辑中`
+          this.editButtonText = `${res.Data.Editor}${this.$t('OnlineExcelPage.editing_msg')}`
           this.$message.warning('当前'+this.editButtonText)
         }
       })
@@ -882,7 +882,7 @@ export default {
       });
 
       if (res.Ret !== 200) return;
-      this.$message.success("刷新成功");
+      this.$message.success(this.$t('ETable.Msg.refresh_success_msg') );
       this.getDetailHandle();
     }, 300),
 
@@ -914,7 +914,7 @@ export default {
 
       if (res.Ret !== 200) return;
 
-      this.$message.success("保存成功");
+      this.$message.success(this.$t('MsgPrompt.saved_msg') );
       this.cancelSaveOther();
       this.getTreeData();
     },