bding 1 vuosi sitten
vanhempi
commit
31c968e43f
33 muutettua tiedostoa jossa 785 lisäystä ja 378 poistoa
  1. 3 0
      src/App.vue
  2. 26 4
      src/lang/commonLang.js
  3. 23 5
      src/lang/en.js
  4. 7 0
      src/lang/modules/ReportManagement/AuthorManagement.js
  5. 10 2
      src/lang/modules/ReportManagement/CloudPage.js
  6. 6 0
      src/lang/modules/ReportManagement/CommodityConfiguration.js
  7. 53 10
      src/lang/modules/SemanticsManage/DocumentComparison.js
  8. 8 8
      src/lang/modules/SemanticsManage/DocumentManagement.js
  9. 5 0
      src/lang/modules/SemanticsManage/TagManagement.js
  10. 37 0
      src/lang/modules/Slides/commonLang.js
  11. 13 2
      src/lang/modules/Slides/index.js
  12. 99 0
      src/lang/modules/Slides/pptList.js
  13. 85 0
      src/lang/modules/Slides/pptPresent.js
  14. 22 5
      src/lang/zh.js
  15. 3 1
      src/main.js
  16. 4 4
      src/views/ppt_manage/newVersion/components/catalog/chooseCatalog.vue
  17. 5 5
      src/views/ppt_manage/newVersion/components/catalog/modifyCatalog.vue
  18. 51 51
      src/views/ppt_manage/newVersion/pptCatalog.vue
  19. 38 38
      src/views/ppt_manage/newVersion/pptEditor.vue
  20. 48 48
      src/views/ppt_manage/newVersion/pptEnCatalog.vue
  21. 37 37
      src/views/ppt_manage/newVersion/pptEnEditor.vue
  22. 5 5
      src/views/ppt_manage/newVersion/pptEnPresent.vue
  23. 3 3
      src/views/ppt_manage/newVersion/pptEnPublish.vue
  24. 6 6
      src/views/ppt_manage/newVersion/pptList.vue
  25. 5 5
      src/views/ppt_manage/newVersion/pptPresent.vue
  26. 5 5
      src/views/ppt_manage/newVersion/pptPublish.vue
  27. 17 18
      src/views/report_manage/cloudDisk.vue
  28. 41 35
      src/views/report_manage/reportAuthor.vue
  29. 25 20
      src/views/report_manage/reportVariety.vue
  30. 15 11
      src/views/semantics_manage/document/documentEditPage.vue
  31. 21 16
      src/views/semantics_manage/documentPage.vue
  32. 21 16
      src/views/semantics_manage/semanticsPage.vue
  33. 38 18
      src/views/semantics_manage/tagPage.vue

+ 3 - 0
src/App.vue

@@ -27,6 +27,9 @@ export default {
       });
     },
   },
+  created(){
+    this.$i18n.locale = 'zh'
+  }
 };
 </script>
 

+ 26 - 4
src/lang/commonLang.js

@@ -23,7 +23,7 @@ export default {
       en: "Edit",
       ch: "编辑",
     },
-    edit_btn: {
+    delete_btn: {
       en: "Delete",
       ch: "删除",
     },
@@ -31,9 +31,9 @@ export default {
       en: "Operations",
       ch: "操作",
     },
-    table_no_data: {
-      en: "Operations",
-      ch: "操作",
+    prompt_slogan: {
+      en: "No data available.",
+      ch: "暂无数据",
     },
   },
   Confirm: {
@@ -46,4 +46,26 @@ export default {
       ch: "暂无数据",
     },
   },
+  MsgPrompt:{
+    delete_msg:{
+      en: "Delete successful",
+      ch: "删除成功",
+    },
+    edit_msg:{
+      en: "Edited successfully.",
+      ch: "编辑成功",
+    },
+    add_msg:{
+      en: "Added successfully.",
+      ch: "新增成功",
+    },
+    publish_msg:{
+      en: "Publish successfully.",
+      ch: "发布成功",
+    },
+    delete_info_msg:{
+      en: "Are you sure you want to permanently delete this file?",
+      ch: "删除后不可恢复,是否确认删除?",
+    }
+  }
 };

+ 23 - 5
src/lang/en.js

@@ -3,9 +3,16 @@
  * @param {为了方便区分,页面模块以大驼峰命名,具体要翻译的key变量用小写字母加_命名} */
 import { transformLanguageData } from "./langUtils";
 import { CloudPageEn } from "./modules/ReportManagement/CloudPage";
+import { CommodityConfigurationEn } from "./modules/ReportManagement/CommodityConfiguration";
+import { AuthorManagementEn } from "./modules/ReportManagement/AuthorManagement";
+import { DocumentComparisonEn } from "./modules/SemanticsManage/DocumentComparison";
+import { DocumentManagementEn } from "./modules/SemanticsManage/DocumentManagement";
+import { TagManagementEn } from "./modules/SemanticsManage/TagManagement";
+import { SlidesEn } from "./modules/Slides/index";
 import commonLang from "./commonLang";
 
 export default {
+  //
   ReportManage: {
     ReportAdd: {
       refresh_btn: "One click refresh",
@@ -14,10 +21,21 @@ export default {
       input_content: "please input content",
       publish_btn: "Publish",
     },
-    CloudPage: {
-      ...CloudPageEn,
-    },
+    CloudPage: CloudPageEn,
+    CommodityConfiguration: CommodityConfigurationEn,
+    AuthorManagement: AuthorManagementEn,
+  },
+  // 语义分析----模块
+  SemanticsManage: {
+    DocumentComparison: DocumentComparisonEn,
+    DocumentManagement: DocumentManagementEn,
+    TagManagement: TagManagementEn,
   },
-  Dialog: transformLanguageData(commonLang.Dialog,'en'),
-  Confirm: transformLanguageData(commonLang.Confirm,'en'),
+  // 智能PPT
+  Slides: SlidesEn,
+  // 公共模块
+  Dialog: transformLanguageData(commonLang.Dialog, "en"),
+  Confirm: transformLanguageData(commonLang.Confirm, "en"),
+  Table: transformLanguageData(commonLang.Table, "en"),
+  MsgPrompt: transformLanguageData(commonLang.MsgPrompt, "en"),
 };

+ 7 - 0
src/lang/modules/ReportManagement/AuthorManagement.js

@@ -41,3 +41,10 @@ export const AuthorManagementEn = {
   delete_error_msg: "该作者名称有关联报告,不允许删除",
   delete_success_msg: "删除成功",
 };
+
+/*
+研报类型
+请选择研报类型
+中文研报
+英文研报
+*/

+ 10 - 2
src/lang/modules/ReportManagement/CloudPage.js

@@ -33,7 +33,6 @@ export const CloudPageZh = {
   rename_dialog_success_msg: "Rename successful",
   download_info_msg: "is starting to download. Please do not download again",
   download_success_msg: "Download successful",
-  delete_info_msg: "Are you sure you want to permanently delete this file?)",
   delete_success_msg: "Delete successful",
   table_no_file: "No file available",
   everything:'Everything'
@@ -70,8 +69,17 @@ export const CloudPageEn = {
   rename_dialog_success_msg: "重命名成功",
   download_info_msg: "开始下载,请勿重复下载",
   download_success_msg: "下载成功 ",
-  delete_info_msg: "删除后不可恢复,是否确认删除?",
   delete_success_msg: "删除成功",
   table_no_file: "暂无文件",
   everything:'全部'
 };
+ 
+
+/**
+ * 已选中X个文件/文件夹
+ * 所在目录
+ * 保留两者
+ * 上传中,请稍后
+ * 下载失败
+ * 请至少选择一个文件/文件夹
+ */

+ 6 - 0
src/lang/modules/ReportManagement/CommodityConfiguration.js

@@ -37,3 +37,9 @@ export const CommodityConfigurationEn = {
   delete_success_msg: "删除成功",
   delete_error_msg: "请先删除该品种下关联品种",
 };
+
+/*
+编辑品种
+请选择
+编辑-编辑:成功
+*/

+ 53 - 10
src/lang/modules/SemanticsManage/DocumentComparison.js

@@ -1,34 +1,77 @@
 /**
- * 语义分析--文档管理
+ * 语义分析--文档对比
  */
 
 /* 英文 */
 export const DocumentComparisonZh = {
-  add_document_btn: "Add Document Comparison",
+  add_document_btn: "Add Document",
+  document_name: "Document Name",
+  document_category: "Document Category",
+  edit_category: "Edit Category",
+  select_category: "Category",
+  please_select_category: "Please select a category",
   input_enter_content: "Enter Document Name",
+  input_enter_fiel_content: "Enter Document Name",
   add_category: "Add Category",
   add_category_name: "Category Name",
   add_category_input_name: "Please enter category name",
   search_btn: "Search",
   add_search_term: "Add Search Term",
   add_search_input: "Please enter search term",
+  select_documents_comparison: "Select Documents for Comparison",
+  select_documents: "Choose Document",
+  select_documents_input: "Please enter document name",
+  select_tags: "Select Tags",
+  show_only_mine: "Show Only Mine",
+  semantic_analysis_name: "Semantic Analysis Name",
+  semantic_analysis_name_input: "Please enter semantic analysis name",
+  add_next_section:'Add Next Section',
+  number_tags_attached: "Number of Tags Attached",
+  document_comparison_btn:'Add Document Comparison',
+  author_detail:'Author',
+  creation_time_detail:'Creation Time',
+  no_image_information_available: 'No image information available.'
+
 };
 
 /* 中文 */
 export const DocumentComparisonEn = {
-  add_document_btn: "添加文档对比",
+  add_document_btn: "添加文档",
+  document_name: "文档名称",
+  document_category: "文档分类",
+  select_category: "所属分类",
+  please_select_category: "请选择所属分类",
+  edit_category: "编辑分类",
   input_enter_content: "请输入文档名称",
+  input_enter_fiel_content: "请输入文件名称",
   add_category: "添加分类",
   add_category_name: "分类名称",
   add_category_input_name: "请输入分类名称",
   search_btn: "搜索",
   add_search_term: "添加搜索词",
   add_search_input: "请输入搜索词",
-  select_documents_comparison: "选择对比文档 Select Documents for Comparison",
-  select_documents: "选择文档 Choose Document",
-  select_documents_input: "请输入文档名称 Please enter document name",
-  select_tags: "选择标签 Select Tags",
-  show_only_mine: "只看我的 Show Only Mine",
-  semantic_analysis_name: "语义分析名称 Semantic Analysis Name",
-  semantic_analysis_name_input: "请输入语义分析名称 Please enter semantic analysis name",
+  select_documents_comparison: "选择对比文档",
+  select_documents: "选择文档",
+  select_documents_input: "请输入文档名称",
+  select_tags: "选择标签",
+  show_only_mine: "只看我的",
+  semantic_analysis_name: "语义分析名称",
+  semantic_analysis_name_input: "请输入语义分析名称",
+  add_next_section:'添加下一段',
+  number_tags_attached: "已打标签数",
+  document_comparison_btn:'添加文档对比',
+  author_detail:'作者',
+  creation_time_detail:'创建时间',
+  no_image_information_available: '暂无图片信息'
 };
+
+/*
+暂无分类
+文档名称不能为空
+请输入文章内容
+请输入段落内容
+共{{catalogList.length}}个文档
+复制到Office
+下载
+复制到微信
+*/

+ 8 - 8
src/lang/modules/SemanticsManage/DocumentManagement.js

@@ -13,7 +13,6 @@ export const DocumentManagementZh = {
   add_document_empty_msg: "Document name cannot be empty",
   select_document_category_msg: "Please select a document category",
   document_name_exists_msg: "Document name already exists",
-  successfully_added: "Successfully added",
   add_category: "Add Category",
   add_category_name: "Category Name",
   add_category_input_name: "Please enter category name",
@@ -22,9 +21,6 @@ export const DocumentManagementZh = {
   add_next_section: "Add Next Section",
   number_tags_attached: "Number of Tags Attached",
   error_notifications: "Already associated with comparison results, deletion not allowed.",
-  deleted_notifications: "Deleted successfully.",
-  edited_notifications: "Edited successfully.",
-  added_notifications: "Added successfully.",
 };
 
 /* 中文 */
@@ -38,7 +34,6 @@ export const DocumentManagementEn = {
   add_document_empty_msg: "文档名称不能为空",
   select_document_category_msg: "请选择文档分类",
   document_name_exists_msg: "文档名称已存在",
-  successfully_added: "新增成功",
   add_category: "添加分类",
   add_category_name: "分类名称",
   add_category_input_name: "请输入分类名称",
@@ -47,7 +42,12 @@ export const DocumentManagementEn = {
   add_next_section: "添加下一段",
   number_tags_attached: "已打标签数",
   error_notifications: "已关联对比结果,不允许删除",
-  deleted_notifications: "删除成功",
-  edited_notifications: "编辑成功",
-  added_notifications: "新增成功",
 };
+
+/*
+暂无分类
+共{{catalogList.length}}个文档
+分类名称不能为空
+分类图片不能为空
+移动成功
+*/

+ 5 - 0
src/lang/modules/SemanticsManage/TagManagement.js

@@ -25,3 +25,8 @@ export const TagManagementEn = {
   column_creation_time: "创建时间",
   edit_tag_btn: "编辑标签",
 };
+
+/**
+ * 标签名称过长,请重新编辑
+ * 删除后不可恢复,是否确认删除该标签
+*/

+ 37 - 0
src/lang/modules/Slides/commonLang.js

@@ -0,0 +1,37 @@
+/**
+ * 智能PPT模块 操作按钮模块
+ */
+
+/* 英文 */
+export const operationsZh = {
+  operations_copy: "Copy",
+  operations_cut: "Cut",
+  operations_rename: "Rename",
+  operations_cancel: "Cancel",
+  operations_delete: "Delete",
+  operations_batch_delete: "Batch delete",
+  operations_share: "Share Settings",
+  operations_unshare: "unshare",
+  operations_english: "Go to English PPT",
+  operations_preview: "Preview and Publish",
+  operations_presentation: "Presentation",
+  go_to_publish:'Go to publish',
+  operations_save:'Save',
+};
+
+/* 中文 */
+export const operationsEn = {
+  operations_copy: "复制",
+  operations_cut: "剪切",
+  operations_rename: "重命名",
+  operations_cancel: "取消",
+  operations_delete: "删除",
+  operations_batch_delete: "批量删除",
+  operations_share: "设置共享",
+  operations_unshare: "取消共享",
+  operations_english: "转英文PPT",
+  operations_preview: "预览发布",
+  operations_presentation: "演示",
+  go_to_publish:'去发布',
+  operations_save:'保存',
+};

+ 13 - 2
src/lang/modules/Slides/index.js

@@ -2,8 +2,19 @@
  * 研报管理--智能PPT
  */
 
+import { litsZh, listEn } from "./pptList";
+import { presentZh, presentEn } from "./pptPresent";
+import { operationsZh, operationsEn } from "./commonLang";
 /* 英文 */
-export const SlidesZh = {};
+export const SlidesZh = {
+  ...litsZh,
+  ...operationsZh,
+  ...presentZh
+};
 
 /* 中文 */
-export const SlidesEn = {};
+export const SlidesEn = {
+  ...listEn,
+  ...operationsEn,
+  ...presentEn
+};

+ 99 - 0
src/lang/modules/Slides/pptList.js

@@ -0,0 +1,99 @@
+/**
+ * 智能PPT
+ */
+
+/* 英文 */
+export const litsZh = {
+  add_ppt_btn: "Add PPT",
+  ppt_merge_btn: "Merge PPTs",
+  input_ppt_title: "Please input slide title",
+  visible_to_self_only: "Visible to self only",
+  visible_to_everyone: "Visible to everyone",
+  unshare_btn: "unshare",
+  select_user_btn: "Select user",
+  add_my_directory: "Add My Directory",
+  creation_time: "Creation time",
+  author_info: "Author",
+  time_info: "Time",
+  operation_info: "Operation",
+  publish_info: "Publish",
+  save_info: "Save",
+  rename_successful: "Rename Successful",
+  copy_successfully: "Copy Successful",
+  settings_successfully: "Settings successful",
+  conversion_successfully: "Conversion successful",
+  convert_to_report: "Convert to report",
+  edit_lable_name: "Edit",
+  delete_confirm_info: "Deletion action is irreversible, and if this PPT is shared, the shared PPT will be deleted synchronously, are you sure you want to delete it? ",
+  delete_directory_info: "Deletion action is irreversible, confirm deletion?",
+  delete_directory_ppt_info: "This directory has associated PPTs, deletion is not allowed.",
+  please_preview_info: "Please preview and publish first",
+  cancel_sharing_info: "you sure you want to unshare?",
+  successfully_converted_PPT: "Successfully converted into English PPT",
+  batch_converted_ppt: "Successfully converted into English PPT",
+  my_ppt_tabs: "My PPT",
+  share_ppt_tabs: "Share PPT",
+  public_ppt_tabs: "Public PPT",
+  select_directory_title: "Select Directory",
+  newly_added_btn: "Newly added",
+  add_directory_dlg: "Add Directory",
+  edit_directory_dlg: "Edit directory",
+  name_directory_dlg: "Directory Name",
+  input_directory_dlg: "Please Input Directory Name",
+
+};
+
+/* 中文 */
+export const listEn = {
+  add_ppt_btn: "添加ppt",
+  ppt_merge_btn: "合并ppt",
+  input_ppt_title: "请输入PPT标题",
+  visible_to_self_only: "仅自己可见",
+  visible_to_everyone: "所有人可见",
+  unshare_btn: "取消共享",
+  select_user_btn: "选择用户",
+  add_my_directory: "添加我的目录",
+  creation_time: "创建时间",
+  author_info: "作者",
+  time_info: "时间",
+  operation_info: "操作",
+  publish_info: "发布",
+  save_info: "保存",
+  rename_successful: "重命名成功",
+  copy_successfully: "复制成功",
+  settings_successfully: "设置成功",
+  conversion_successfully: "转换成功",
+  convert_to_report: "转报告",
+  edit_lable_name: "编辑",
+  delete_confirm_info: "删除操作不可恢复,若该PPT被共享,则同步删除共享PPT,确认删除吗?",
+  delete_directory_info: "删除操作不可恢复,确认删除吗?",
+  delete_directory_ppt_info: "该目录下有关联PPT,不允许删除",
+  please_preview_info: "请先预览发布!",
+  cancel_sharing_info: "确定要取消共享吗?",
+  successfully_converted_ppt: "转英文PPT成功",
+  batch_converted_ppt: "批量转英文PPT成功",
+  my_ppt_tabs: "我的PPT",
+  share_ppt_tabs: "共享PPT",
+  public_ppt_tabs: "公共PPT",
+  select_directory_title: "选择目录",
+  newly_added_btn: "新增",
+  add_directory_dlg: "新增目录",
+  edit_directory_dlg: "编辑目录",
+  name_directory_dlg: "目录名称",
+  input_directory_dlg: "请输入目录名称",
+  
+};
+
+/**
+ * 暂无分类
+ * 查看报告
+ * 编辑中...
+ * 他人正在编辑中,不可重复编辑
+ * PPT插入图表数量不能超过100张,请修改后重试
+ * PPT页数不能超过60页,请修改后重试
+ * 移动成功
+ * 预览报告
+ * 请先添加目录
+ *   {{$t('Slides.add_my_directory')}}
+ *   this.$t('Slides.rename_successful')
+ */

+ 85 - 0
src/lang/modules/Slides/pptPresent.js

@@ -0,0 +1,85 @@
+/**
+ * 智能PPT
+ */
+
+/* 英文 */
+export const presentZh = {
+  portrait_mode_playback: "Portrait mode playback",
+  play_from_current_slide: "Play from current slide",
+  play_for_the_first_slide: "Play for the first slide",
+  default_size: "(Default)",
+  return_to_list: "Return to list",
+  default_publish: "(Default) Publish",
+  select_cover_page: "Select cover page",
+  operating_instructions: "Operating instructions",
+  click_to_input_title: "Click to input title",
+  update_chart_btn: "Update chart",
+  paste_element_btn: "Paste element",
+  layer_editing: "Layer editing",
+  keyword_search: "Keyword search",
+  eta_chart_gallery: "ETA Chart Gallery",
+  commodity_price_curve: "Commodity Price Curve",
+  correlation_charts: "Correlation Charts",
+  fitted_equation_curves: "Fitted Equation Curves",
+  statistical_features: "Statistical Features",
+  intercommodity_analysis: "Intercommodity Analysis",
+  show_only_mine: "Show only mine",
+  sandbox_name_category: "Sandbox Name / Category",
+  sandbox_name: "Sandbox",
+  table_name: "Table",
+  table_name_input: "Table Name",
+  my_eta_batch: "MyETA Batch",
+  layer_element: "Layer element",
+  line_settings: "Line settings",
+  outline_element: "Outline settings",
+  text_element: "Text settings",
+  batch_deletion_successful: "批量删除成功",
+
+};
+
+/* 中文 */
+export const presentEn = {
+  portrait_mode_playback: "人像模式播放",
+  play_from_current_slide: "从当前页播放",
+  play_for_the_first_slide: "从首页播放",
+  default_size: "(默认)",
+  return_to_list: "返回列表",
+  default_publish: "(默认)发布",
+  select_cover_page: "选择封面页",
+  operating_instructions: "操作说明",
+  click_to_input_title: "单击输入标题",
+  update_chart_btn: "更新图表",
+  paste_element_btn: "粘贴元素",
+  layer_editing: "图层编辑",
+  keyword_search: "关键字查找",
+  eta_chart_gallery: "ETA图库",
+  commodity_price_curve: "商品价格曲线",
+  correlation_charts: "相关性图表",
+  fitted_equation_curves: "拟合方程曲线",
+  statistical_features: "统计特征",
+  intercommodity_analysis: "跨品种分析",
+  show_only_mine: "只看我的",
+  sandbox_name_category: "沙盘名称/品种",
+  sandbox_name: "沙盘",
+  table_name: "表格",
+  table_name_input: "表格名称",
+  my_eta_batch: "MyETA批量",
+  layer_element: "图层元素",
+  line_settings: "线条设置",
+  outline_element: "线框设置",
+  text_element: "文本设置",
+  batch_deletion_successful: "批量删除成功",
+
+};
+
+/**
+ * 获取ppt数据失败
+ * 无对应的ppt数据
+ * 已是最后一张PPT
+ * 已是第一张PPT
+ * 进入全屏
+ * 退出全屏
+ * `第${i+1}页内容不完整,请重新编辑!`
+ *   {{$t('Slides.add_my_directory')}}
+ *   this.$t('Slides.rename_successful')
+ */

+ 22 - 5
src/lang/zh.js

@@ -3,6 +3,12 @@
  * @param {为了方便区分,页面模块以大驼峰命名,具体要翻译的key变量用小写字母加_命名} */
 import { transformLanguageData } from "./langUtils";
 import { CloudPageZh } from "./modules/ReportManagement/CloudPage";
+import { CommodityConfigurationZh } from "./modules/ReportManagement/CommodityConfiguration";
+import { AuthorManagementZh } from "./modules/ReportManagement/AuthorManagement";
+import { DocumentComparisonZh } from "./modules/SemanticsManage/DocumentComparison";
+import { DocumentManagementZh } from "./modules/SemanticsManage/DocumentManagement";
+import { TagManagementZh } from "./modules/SemanticsManage/TagManagement";
+import { SlidesZh } from "./modules/Slides/index";
 import commonLang from "./commonLang";
 
 export default {
@@ -14,10 +20,21 @@ export default {
       input_content: "please input content",
       publish_btn: "Publish",
     },
-    CloudPage: {
-      ...CloudPageZh,
-    },
+    CloudPage: CloudPageZh,
+    CommodityConfiguration: CommodityConfigurationZh,
+    AuthorManagement: AuthorManagementZh,
+  },
+  // 语义分析----模块
+  SemanticsManage: {
+    DocumentComparison: DocumentComparisonZh,
+    DocumentManagement: DocumentManagementZh,
+    TagManagement: TagManagementZh,
   },
-  Dialog: transformLanguageData(commonLang.Dialog,'zh'),
-  Confirm: transformLanguageData(commonLang.Confirm,'zh'),
+  // 智能PPT
+  Slides: SlidesZh,
+  // 公共模块
+  Dialog: transformLanguageData(commonLang.Dialog, "zh"),
+  Confirm: transformLanguageData(commonLang.Confirm, "zh"),
+  Table: transformLanguageData(commonLang.Table, "zh"),
+  MsgPrompt: transformLanguageData(commonLang.MsgPrompt, "zh"),
 };

+ 3 - 1
src/main.js

@@ -18,7 +18,9 @@ Vue.mixin(mixins);
 Vue.use(VueI18n);
 const i18n = new VueI18n({
   locale: 'en', // 默认语言
-  messages
+  messages,
+  // 隐藏警告
+  silentTranslationWarn: true
 });
 Vue.use(ElementUI);
 Vue.use(VueRouter);

+ 4 - 4
src/views/ppt_manage/newVersion/components/catalog/chooseCatalog.vue

@@ -7,7 +7,7 @@
     :modal-append-to-body="false"
     @close="cancelHandle" width="689px" v-dialogDrag center>
       <div slot="title" style="display: flex; alignitems: center">
-        <span style="fontsize: 16px">选择目录</span>
+        <span style="fontsize: 16px"> {{$t('Slides.select_directory_title')}}</span>
       </div>
       <div class="dialog-container">
         <div class="classify-cont">
@@ -24,12 +24,12 @@
         </div>
         <span class="add-cont" @click="handleAddCatalog">
           <i class="el-icon-circle-plus-outline" />
-          新增
+           {{$t('Slides.newly_added_btn')}}
         </span>
       </div>
       <div slot="footer" class="foot-container">
-        <el-button type="primary" @click="saveChange">保 存</el-button>
-        <el-button @click="cancelHandle">取 消</el-button>
+        <el-button type="primary" @click="saveChange">{{$t('Dialog.confirm_save_btn')}}</el-button>
+        <el-button @click="cancelHandle">{{$t('Dialog.cancel_btn')}}</el-button>
       </div>
     </el-dialog>
     <!-- 新增目录弹窗 -->

+ 5 - 5
src/views/ppt_manage/newVersion/components/catalog/modifyCatalog.vue

@@ -6,16 +6,16 @@
     :modal-append-to-body="false"
     @close="cancelHandle" width="689px" v-dialogDrag center>
     <div slot="title" style="display: flex; alignitems: center">
-      <span style="fontsize: 16px">{{catalogItem.GroupId?'编辑':'新增'}}目录</span>
+      <span style="fontsize: 16px">{{catalogItem.GroupId? $t('Slides.edit_directory_dlg') : $t('Slides.add_directory_dlg') }}</span>
     </div>
     <div class="dialog-container">
         <div class="input-item">
-        目录名称:<el-input  placeholder="请输入目录名称" v-model="catalogItem.GroupName" required ></el-input>
+        {{$t('Slides.name_directory_dlg')}}:<el-input  :placeholder="$t('Slides.input_directory_dlg')" v-model="catalogItem.GroupName" required ></el-input>
       </div>
     </div>
     <div slot="footer" class="foot-container">
-      <el-button type="primary" @click="saveChange">保 存</el-button>
-      <el-button @click="cancelHandle">取 消</el-button>
+      <el-button type="primary" @click="saveChange">{{$t('Dialog.confirm_save_btn')}}</el-button>
+      <el-button @click="cancelHandle">{{$t('Dialog.cancel_btn')}}</el-button>
     </div>
   </el-dialog>
 </template>
@@ -41,7 +41,7 @@ export default {
   methods: {
     saveChange(){
       if(!this.catalogItem.GroupName||!this.catalogItem.GroupName.length){
-        this.$message.warning('请输入目录名称')
+        this.$message.warning(this.$t('Slider.input_directory_dlg'))
         return
       }
       this.$emit('changeCatalog',this.catalogItem)

+ 51 - 51
src/views/ppt_manage/newVersion/pptCatalog.vue

@@ -10,14 +10,14 @@
     <div class="list-wrap ppt-page-wrap" id="left" v-show="!isSlideLeft">
       <div class="add-btn">
         <el-button type="primary" v-permission="permissionBtn.pptPermission.ppt_save"
-            @click="handleChooseCatalog('add')">添加ppt</el-button>
+            @click="handleChooseCatalog('add')">{{$t('Slides.add_ppt_btn')}}</el-button>
         <el-button v-permission="permissionBtn.pptPermission.ppt_merge"
-            type="primary" plain @click="handleOpenMergeDialog">合并ppt</el-button>
+            type="primary" plain @click="handleOpenMergeDialog">{{$t('Slides.ppt_merge_btn')}}</el-button>
       </div>
       <div class="select-wrap">
         <el-select
           filterable remote
-          placeholder="请输入PPT标题"
+          :placeholder="$t('Slides.input_ppt_title')"
           v-model="searchTitle"
           :remote-method="searchHandle"
           clearable
@@ -111,7 +111,7 @@
                     >
                       <img src="~@/assets/img/chart_m/Group.png"
                         style="width: 14px; height: 14px; margin-right: 8px"
-                      />仅自己可见
+                      />{{$t('Slides.visible_to_self_only')}}
                     </el-dropdown-item>
                     <el-dropdown-item :command="{key:'share',item:data}"
                       class="treenode-dropdown-item"
@@ -119,7 +119,7 @@
                     >
                       <img src="~@/assets/img/chart_m/User.png"
                         style="width: 14px; height: 14px; margin-right: 8px"
-                      />所有人可见
+                      />{{$t('Slides.visible_to_everyone')}}
                     </el-dropdown-item>
                   </el-dropdown-menu>
                 </el-dropdown>
@@ -129,15 +129,15 @@
                   </span>
                   <el-dropdown-menu slot="dropdown">
                     <el-dropdown-item v-permission="permissionBtn.pptPermission.ppt_copy"
-                        :command="{key:'copy',item:data}" v-if="(data.PptVersion&&data.PptVersion===2)||(data.GroupId&&!data.OnlyOld)">复制</el-dropdown-item>
+                        :command="{key:'copy',item:data}" v-if="(data.PptVersion&&data.PptVersion===2)||(data.GroupId&&!data.OnlyOld)">{{$t('Slides.operations_copy')}}</el-dropdown-item>
                     <el-dropdown-item v-permission="permissionBtn.pptPermission.ppt_save"
-                        :command="{key:'edit',item:data}" v-if="data.GroupId">重命名</el-dropdown-item>
+                        :command="{key:'edit',item:data}" v-if="data.GroupId">{{$t('Slides.operations_rename')}}</el-dropdown-item>
                     <el-dropdown-item v-permission="permissionBtn.pptPermission.ppt_del"
-                        :command="{key:'del',item:data}">删除</el-dropdown-item>
-                    <el-dropdown-item :command="{key:'openShare',item:data}" v-if="data.PptVersion && !data.IsGrant && permissionBtn.isShowBtn('pptPermission','ppt_setShare')">设置共享</el-dropdown-item>
-                    <el-dropdown-item :command="{key:'cancelShare',item:data}" v-if="data.PptVersion && data.IsGrant && permissionBtn.isShowBtn('pptPermission','ppt_setShare')">取消共享</el-dropdown-item>
+                        :command="{key:'del',item:data}">{{$t('Slides.operations_delete')}}</el-dropdown-item>
+                    <el-dropdown-item :command="{key:'openShare',item:data}" v-if="data.PptVersion && !data.IsGrant && permissionBtn.isShowBtn('pptPermission','ppt_setShare')">{{$t('Slides.operations_share')}}</el-dropdown-item>
+                    <el-dropdown-item :command="{key:'cancelShare',item:data}" v-if="data.PptVersion && data.IsGrant && permissionBtn.isShowBtn('pptPermission','ppt_setShare')">{{$t('Slides.operations_unshare')}}</el-dropdown-item>
                     <el-dropdown-item v-permission="permissionBtn.pptPermission.ppt_toEn"
-                        :command="{key:'transform',item:data}">转英文PPT</el-dropdown-item>
+                        :command="{key:'transform',item:data}">{{$t('Slides.operations_english')}}</el-dropdown-item>
                   </el-dropdown-menu>
                 </el-dropdown>
                 </span>
@@ -168,8 +168,8 @@
                     <i class="el-icon-more" style="font-size: 16px;transform: rotate(90deg);cursor: pointer"/>
                   </span>
                   <el-dropdown-menu slot="dropdown">
-                    <el-dropdown-item :command="{key:'cancelShare',item:data}">取消共享</el-dropdown-item>
-                    <el-dropdown-item :command="{key:'set',item:data}">选择用户</el-dropdown-item>
+                    <el-dropdown-item :command="{key:'cancelShare',item:data}">{{$t('Slides.unshare_btn')}}</el-dropdown-item>
+                    <el-dropdown-item :command="{key:'set',item:data}">{{$t('Slides.select_user_btn')}}</el-dropdown-item>
                   </el-dropdown-menu>
                 </el-dropdown>
               </span>
@@ -183,7 +183,7 @@
             alt=""
             style="width: 16px; height: 16px; margin-right: 10px"
           />
-          <span>添加我的目录</span>
+          <span>{{$t('Slides.add_my_directory')}}</span>
         </div>
       </div>
       <span class="slide-icon slide-left" @click="slideHandle">
@@ -225,11 +225,11 @@
               :style="item.BackgroundImg?{background: `no-repeat top/cover url('${item.BackgroundImg}')`}:{}">
                 <span>{{item.Title}}</span>
               </div>
-              <span style="font-size:14px;">创建时间:{{$moment(item.PptCreateTime).format('YYYY-MM-DD')}}</span>
+              <span style="font-size:14px;">{{$t('Slides.creation_time')}}:{{$moment(item.PptCreateTime).format('YYYY-MM-DD')}}</span>
             </div>
           </draggable>
           <div class="empty" v-if="catalogPPTList.length===0">
-            <tableNoData text="暂无数据" size="mini"/>
+            <tableNoData :text="$t('Table.prompt_slogan')" size="mini"/>
           </div>
         </div>
       </div>
@@ -249,14 +249,14 @@
         </div>
         <div class="tool-side ppt-page-wrap">
           <div class="ppt-info">
-            <div>作者:{{pptItem.AdminRealName}}</div>
+            <div> {{$t('Slides.author_info')}}:{{pptItem.AdminRealName}}</div>
             <div>
-              {{pptItem.PptxUrl?'发布':'保存'}}
-              时间:{{$moment(pptItem.PptxUrl?pptItem.PublishTime || undefined:pptItem.PptModifyTime || undefined).format('YYYY-MM-DD')}}
+              {{pptItem.PptxUrl? $t('Slides.publish_info'):$t('Slides.save_info')}}
+              {{$t('Slides.time_info')}}:{{$moment(pptItem.PptxUrl?pptItem.PublishTime || undefined:pptItem.PptModifyTime || undefined).format('YYYY-MM-DD')}}
             </div>
           </div>
           <div class="tool-list-operation">
-            <span>操作</span>
+            <span>{{$t('Slides.operation_info')}}</span>
             <div class="tool-list">
               <span v-for="item in pptToolList" :key="item.key" 
                 :class="{'delete':item.key==='delete'}"
@@ -377,9 +377,9 @@ export default {
 
       default_tab: '1',
       panelTabs: [
-        { label: '我的PPT', key: '1' },
-        { label: '共享PPT', key: '2' },
-        { label: '公共PPT', key: '3' },
+        { label: this.$t('Slides.my_ppt_tabs'), key: '1' },
+        { label: this.$t('Slides.share_ppt_tabs'), key: '2' },
+        { label: this.$t('Slides.public_ppt_tabs'), key: '3' },
       ],
 
       sharedList: [],//共享目录
@@ -447,7 +447,7 @@ export default {
         })
       }
       if(res.Ret===200){
-        this.$message.success(item.GroupId?'重命名成功':'新增成功')
+        this.$message.success(item.GroupId? this.$t('Slides.rename_successful') : this.$t('MsgPrompt.add_msg') )
         this.getCatalogsList()
         this.modifyCatalogShow = false
       }
@@ -473,7 +473,7 @@ export default {
           PptId:this.pptItem.PptId
         }).then(async (res)=>{
           if(res.Ret===200){
-            this.$message.success('复制成功')
+            this.$message.success(this.$t('Slides.copy_successfully'))
             //更新目录列表
             await this.getCatalogsList()
             //切换到"我的PPT",展开选择的目录,选中复制的PPT
@@ -566,7 +566,7 @@ export default {
         })
       }
       //ppt3.0 除旧版的ppt以外,增加 转报告/查看报告按钮
-      const labelName = this.pptItem.isTrans?'查看报告':'转报告'
+      const labelName = this.pptItem.isTrans?'查看报告': this.$t('Slides.convert_to_report')
       this.pptToolList.map(i=>{
         if(i.key==='transform'){
           i.label = labelName
@@ -596,7 +596,7 @@ export default {
       //若有人在编辑,则显示编辑中
       if(this.pptToolList.find(i=>i.key==='edit')){
         const {Editor={}} = pptDetail
-        let labelName = '编辑'
+        let labelName = this.$t('Slides.edit_lable_name')
         if(Editor.IsEditing&&Editor.AdminId!==Number(localStorage.getItem('AdminId'))){
             labelName = `${Editor.Editor}编辑中...`
         }
@@ -661,7 +661,7 @@ export default {
         GroupId:data.GroupId
       }).then(res=>{
         if(res.Ret===200){
-          this.$message.success('复制成功')
+          this.$message.success(this.$t('Slides.copy_successfully'))
           this.getCatalogsList()
         }
       })
@@ -677,11 +677,11 @@ export default {
     //删除PPT
     deletePPT(data){
       this.$confirm(
-        '删除操作不可恢复,若该PPT被共享,则同步删除共享PPT,确认删除吗?',
-        '提示',
+        this.$t('Slides.delete_confirm_info'),
+        this.$t('Confirm.prompt'),
         {
-            confirmButtonText: '确定',
-            cancelButtonText: '取消',
+            confirmButtonText:  this.$t('Dialog.confirm_btn'),
+            cancelButtonText: this.$t('Dialog.cancel_btn'),
             type: 'warning',
         }
       ).then(()=>{
@@ -689,7 +689,7 @@ export default {
           PptId:data.PptId
         }).then((res)=>{
           if(res.Ret===200){
-            this.$message.success('删除成功');
+            this.$message.success(this.$t('MsgPrompt.delete_msg'));
             this.getCatalogsList()
             const catalog = this[`${this.treeName}List`].find(i=>i.GroupId===data.catalogId)
             this.$refs[`${this.treeName}Tree`].setCurrentKey(data.catalogId)
@@ -710,15 +710,15 @@ export default {
     //删除目录
     deleteCatalog(data){
       if(data.PptList&&data.PptList.length!==0){
-        this.$message.error('该目录下有关联PPT,不允许删除')
+        this.$message.error(this.$t('Slides.delete_directory_ppt_info'))
         return
       }
       this.$confirm(
-        '删除操作不可恢复,确认删除吗?',
-        '提示',
+        this.$t('Slides.delete_directory_info'),
+        this.$t('Confirm.prompt'),
         {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
+          confirmButtonText:  this.$t('Dialog.confirm_btn'),
+          cancelButtonText: this.$t('Dialog.cancel_btn'),
           type: 'warning',
         }
       ).then(()=>{
@@ -726,7 +726,7 @@ export default {
           GroupId:data.GroupId
         }).then((res)=>{
           if(res.Ret===200){
-            this.$message.success('删除成功');
+            this.$message.success(this.$t('MsgPrompt.delete_msg'));
             if(data.GroupId===this.selectNode.GroupId){
               this.selectNode=null
             }
@@ -825,7 +825,7 @@ export default {
           x.send()
         }
       }else{
-        this.$message.warning('请先预览发布')
+        this.$message.warning(this.$t('Slides.please_preview_info'))
       }
     },
     //共享/取消共享
@@ -852,7 +852,7 @@ export default {
           PptId:item.PptId
         }).then(res=>{
           if(res.Ret===200){
-            this.$message.success('设置成功')
+            this.$message.success(this.$t('Slides.settings_successfully'))
             this.getCatalogsList()
           }
         })
@@ -1121,7 +1121,7 @@ export default {
           //打开报告设置弹窗
           this.transReportShow = true
         }else{
-          this.$message.warning('请先预览发布!')
+          this.$message.warning(this.$t('Slides.please_preview_info'))
         }
         
       }
@@ -1133,7 +1133,7 @@ export default {
         Title:data.title
       }).then(res=>{
         if(res.Ret===200){
-          this.$message.success('转换成功')
+          this.$message.success(this.$t('Slides.conversion_successfully'))
           this.transReportShow = false
           this.getCatalogsList()
           //更新item
@@ -1213,12 +1213,12 @@ export default {
 
       }else {
         this.$confirm(
-          '确定要取消共享吗',
-          '提示',
+          this.$t('Slides.cancel_sharing_info'),
+          this.$t('Confirm.prompt'),
           {
-              confirmButtonText: '确定',
-              cancelButtonText: '取消',
-              type: 'warning',
+            confirmButtonText: this.$t('Dialog.confirm_btn'),
+            cancelButtonText: this.$t('Dialog.cancel_btn'),
+            type: 'warning',
           }
         ).then(()=>{
           pptInterface.cancelShareAuth({
@@ -1226,7 +1226,7 @@ export default {
           }).then(res => {
             if(res.Ret !== 200) return
 
-            this.$message.success('取消成功');
+            this.$message.success(this.$t('MsgPrompt.delete_msg'));
             this.getCatalogsList()
           })
         })
@@ -1265,7 +1265,7 @@ export default {
         GroupId:selectedCatalog
       })
       if(res.Ret!==200) return
-      this.$message.success('转英文PPT成功')
+      this.$message.success(this.$t('Slides.successfully_converted_PPT'))
     },
     async transformCatalogtoEn(selectedCatalog){
       let PptIds = []
@@ -1277,7 +1277,7 @@ export default {
         GroupId:selectedCatalog
       })
       if(res.Ret!==200) return
-      this.$message.success('批量转英文PPT成功')
+      this.$message.success(this.$t('Slides.batch_converted_ppt'))
     },
     //如果下拉框一个选项都没有,就不显示下拉框按钮
     checkDropDownShow(type){

+ 38 - 38
src/views/ppt_manage/newVersion/pptEditor.vue

@@ -5,15 +5,15 @@
             <div class="cover" :style="`background: no-repeat center/cover url(${firstPage.BackgroundImg||''});background-color:#F2F6FA;background-size:100% 100%;`">
                 <img src="~@/assets/img/ppt_m/add_first.png" />
             </div>
-            <p class="hint-text">选择封面页</p>
+            <p class="hint-text">{{$t('Slides.select_cover_page')}}</p>
         </div>
-        <div class="hint-box"><div class="hint"  @click="showHint"><span class="el-icon-info" style="margin-right:5px;"></span>操作说明</div></div>
+        <div class="hint-box"><div class="hint"  @click="showHint"><span class="el-icon-info" style="margin-right:5px;"></span>{{$t('Slides.operating_instructions')}}</div></div>
         <div style="display:flex;justify-content: space-between;">
           <p style="text-align:start;color:#999999;">已添加{{pageList.length}}页</p>
           <!-- <p class="hint-text" style="cursor: pointer;margin-left:auto;" @click="insertPageShow=true">插入PPT</p> -->
-          <p class="hint-text" style="cursor: pointer;" @click="saveCopyPages('cut')">剪切</p>
-          <p class="hint-text" style="cursor: pointer;" @click="saveCopyPages('copy')">复制</p>
-          <p style="color:#B72E18;cursor: pointer;" @click="openDeletePageDialog">批量删除</p>
+          <p class="hint-text" style="cursor: pointer;" @click="saveCopyPages('cut')">{{$t('Slides.operations_cut')}}</p>
+          <p class="hint-text" style="cursor: pointer;" @click="saveCopyPages('copy')">{{$t('Slides.operations_copy')}}</p>
+          <p style="color:#B72E18;cursor: pointer;" @click="openDeletePageDialog">{{$t('Slides.operations_batch_delete')}}</p>
         </div>
         
         <div class="index-list" ref="pptList" v-click-outside="resetCopyPages">
@@ -55,7 +55,7 @@
                         @click="changeCurrentItem(item)">
                         <!-- 标题 -->
                         <div class="title-wrap">
-                            <input type="text" placeholder="单击输入标题" v-model="item.title"/> 
+                            <input type="text" :placeholder="$t('Slides.click_to_input_title')" v-model="item.title"/> 
                         </div>
                         <!-- 内容 -->
                         <component  :is="getComponentName(item.modelId)"
@@ -81,8 +81,8 @@
                         <!-- 删除按钮 -->
                         <el-popconfirm
                             @onConfirm="delPage(item)"
-                            confirmButtonText='删除'
-                            cancelButtonText='取消'
+                            :confirmButtonText="$t('Slides.operations_delete')"
+                            :cancelButtonText="$t('Slides.operations_cancel')"
                             confirmButtonType="text"
                             icon="el-icon-info"
                             iconColor="red"
@@ -92,12 +92,12 @@
                         <!-- 页码 -->
                         <span class="page-num">第{{index+1}}页</span>
                         <!-- 更新图表 -->
-                        <span class="update-btn" v-show="item.modelId!==6&&item.elements.find((i)=>i.type==='chart')" @click.stop="updatePage(item)"><span class="update-ico"></span> 更新图表</span>
+                        <span class="update-btn" v-show="item.modelId!==6&&item.elements.find((i)=>i.type==='chart')" @click.stop="updatePage(item)"><span class="update-ico"></span> {{$t('Slides.update_chart_btn')}}</span>
                     </div>
                     <AddFormat v-if="index===pageList.length-1" @addPage="addPage($event,index+1)" :chooseModalId="chooseModalId"/>
                 </div> 
                 <!-- 自定义右键菜单 -->
-                <context-menu :menu="[{id:1,text:'粘贴元素',eventName:'paste',canClick:Boolean(copyShape.id)}]" @paste="pasteLayerEl"/>
+                <context-menu :menu="[{id:1,text:$t('Slides.paste_element_btn'),eventName:'paste',canClick:Boolean(copyShape.id)}]" @paste="pasteLayerEl"/>
                 <!-- </transition-group> -->
             </template>
             <template v-else>
@@ -109,9 +109,9 @@
         <div class="ppt-tool flex-column">
             <div class="tool-btn">
                 <el-button v-permission="permissionBtn.pptPermission.ppt_publish"
-                 type="primary" @click="handlePublish">去发布</el-button>
-                <el-button @click="handleSave('save')">保存</el-button>
-                <el-button type="text" @click="handleChangeEditModal"><i class="el-icon-sort" style="transform: rotate(90deg);margin-right:5px;"></i>{{isEditLayer?'ppt编辑':'图层编辑'}}</el-button>
+                 type="primary" @click="handlePublish">{{$t('Slides.go_to_publish')}}</el-button>
+                <el-button @click="handleSave('save')">{{$t('Slides.operations_save')}}</el-button>
+                <el-button type="text" @click="handleChangeEditModal"><i class="el-icon-sort" style="transform: rotate(90deg);margin-right:5px;"></i>{{isEditLayer?'ppt编辑':$t('Slides.layer_editing')}}</el-button>
             </div>
             <div class="richtext-tool"></div>
             <!-- 防止el-tabs未渲染时触发scrollToActiveTab 报错,v-if改为v-show-->
@@ -121,18 +121,18 @@
               </el-tabs>
               <div class="chart-tool flex-column" v-show="tabsactive == '图表'">
                 <div class="chart-search">
-                    <el-input placeholder="关键字查找" v-model="key_word" size="medium" prefix-icon="el-icon-search" @input="() => {search_page=1;$refs.chartListRef.scrollTop = 0;getreportlist()}" style="max-width:420px;"></el-input>
+                    <el-input :placeholder="$t('Slides.keyword_search')"  v-model="key_word" size="medium" prefix-icon="el-icon-search" @input="() => {search_page=1;$refs.chartListRef.scrollTop = 0;getreportlist()}" style="max-width:420px;"></el-input>
                 </div>
                 <el-radio-group v-model="chart_source" @change="() => {search_page=1;$refs.chartListRef.scrollTop = 0;getreportlist()}" style="margin: 10px 0;">
-                  <el-radio :label="1" style="margin-bottom:5px">ETA图库</el-radio>
-                  <el-radio :label="2" style="margin-bottom:5px">商品价格曲线</el-radio> 
-                  <el-radio :label="3" style="margin-bottom:5px">相关性图表</el-radio>
-                  <el-radio :label="6" style="margin-bottom:5px">拟合方程曲线</el-radio>
-                  <el-radio :label="7" style="margin-bottom:5px">统计特征</el-radio>
-                  <el-radio :label="10">跨品种分析</el-radio>
+                  <el-radio :label="1" style="margin-bottom:5px">{{$t('Slides.eta_chart_gallery')}}</el-radio>
+                  <el-radio :label="2" style="margin-bottom:5px">{{$t('Slides.commodity_price_curve')}}</el-radio> 
+                  <el-radio :label="3" style="margin-bottom:5px">{{$t('Slides.correlation_charts')}}</el-radio>
+                  <el-radio :label="6" style="margin-bottom:5px">{{$t('Slides.fitted_equation_curves')}}</el-radio>
+                  <el-radio :label="7" style="margin-bottom:5px">{{$t('Slides.statistical_features')}}</el-radio>
+                  <el-radio :label="10">{{$t('Slides.intercommodity_analysis')}}</el-radio>
                 </el-radio-group>
                 <div style="margin: 10px 0">
-                  <el-checkbox v-model="isShowMe" @change="() => {search_page=1;$refs.chartListRef.scrollTop = 0;getreportlist()}">只看我的</el-checkbox>
+                  <el-checkbox v-model="isShowMe" @change="() => {search_page=1;$refs.chartListRef.scrollTop = 0;getreportlist()}">{{$t('Slides.show_only_mine')}}</el-checkbox>
                 </div>
                 <div class="chart-list" v-infinite-scroll="loadReportHandle" :infinite-scroll-immediate="false" ref="chartListRef">
                     <template v-if="chartList.length">
@@ -141,12 +141,12 @@
                         <img :src="item.ChartImage" ref="insert_img" style="-webkit-user-drag:none;"/>
                     </div>
                     </template>
-                    <tableNoData text="暂无数据" size="mini" v-else/>
+                    <tableNoData :text="$t('Table.prompt_slogan')" size="mini" v-else/>
                 </div>
               </div>
-              <div v-show="tabsactive == '沙盘'" class="chart-tool flex-column">
+              <div v-show="tabsactive == $t('Slides.sandbox_name')" class="chart-tool flex-column">
                 <div class="chart-search">
-                    <el-input placeholder="沙盘名称/品种" v-model="sandTabelQuery.Keyword" size="medium" prefix-icon="el-icon-search" style="max-width:420px;"></el-input>
+                    <el-input :placeholder="$t('Slides.sandbox_name_category')" v-model="sandTabelQuery.Keyword" size="medium" prefix-icon="el-icon-search" style="max-width:420px;"></el-input>
                 </div>
                 <div class="chart-list" id="sandTable" @scroll="sandTableHandleScroll">
                   <template v-if="sandTableList.length">
@@ -156,12 +156,12 @@
                     </div>
                     <div v-loading = "sandTableLoading" class="loaded-text">{{loadedText}}</div>
                   </template>
-                  <tableNoData text="暂无数据" size="mini" v-else/>
+                  <tableNoData :text="$t('Table.prompt_slogan')" size="mini" v-else/>
                 </div>
               </div>
-              <div v-show="tabsactive == '表格'" class="chart-tool flex-column">
+              <div v-show="tabsactive == $t('Slides.table_name')" class="chart-tool flex-column">
                 <div class="chart-search">
-                    <el-input placeholder="表格名称" v-model="sheetSearchObj.Keyword" size="medium" prefix-icon="el-icon-search" style="max-width:420px;" @input="getSheetList"></el-input>
+                    <el-input :placeholder="$t('Slides.table_name_input')" v-model="sheetSearchObj.Keyword" size="medium" prefix-icon="el-icon-search" style="max-width:420px;" @input="getSheetList"></el-input>
                 </div>
                 <div class="chart-list" id="sandTable">
                   <template v-if="sheetSearchList.length">
@@ -170,10 +170,10 @@
                       <img :src="item.ExcelImage" style="width:100%;object-fit: contain;height: 250px;-webkit-user-drag:none;"  @click="chooseChart(item,'sheet')"/>
                     </div>
                   </template>
-                  <tableNoData text="暂无数据" size="mini" v-else/>
+                  <tableNoData :text="$t('Table.prompt_slogan')" size="mini" v-else/>
                 </div>
               </div>
-              <div v-show="tabsactive == 'MyETA批量'" class="chart-tool flex-column">
+              <div v-show="tabsactive == $t('Slides.my_eta_batch')" class="chart-tool flex-column">
                 <insert-charts @handleImportMyChart="handleImportMyChart"/>
               </div>
               <div v-show="tabsactive == '语义分析插入'" class="chart-tool flex-column">
@@ -183,7 +183,7 @@
             <!-- 图层编辑 -->
             <div class="layer-edit-box" v-show="isEditLayer">
               	<el-collapse v-model="activeNames" class="tool-list">
-                  <el-collapse-item title="图层元素" name="el">
+                  <el-collapse-item :title="$t('Slides.layer_element')" name="el">
                     <div class="el-wrap">
                       <div class="el-item" 
                        v-for="(shape,index) in layerElArr" :key="index" @click="addLayerEl(shape)">
@@ -198,21 +198,21 @@
                     <LayerEditTool :elInfo="activeLayerEl" />
                   </el-collapse-item> -->
                   <el-collapse-item  name="line"
-                    title="线条设置" >
+                   :title="$t('Slides.line_settings')" >
                     <LayerEditTool 
                       :isActiveEl="activeLayerEl.type==='line'?true:false"
                       :elInfo="activeLayerEl.type==='line'?activeLayerEl:BaseLineShape" 
                       baseType="line"/>
                   </el-collapse-item>
                   <el-collapse-item  name="shape"
-                    title="线框设置" >
+                    :title="$t('Slides.outline_element')" >
                     <LayerEditTool 
                       :isActiveEl="activeLayerEl.type==='shape'?true:false"
                       :elInfo="activeLayerEl.type==='shape'?activeLayerEl:BaseRectShape" 
                       baseType="shape"/>
                   </el-collapse-item>
                   <el-collapse-item  name="text"
-                    title="文本设置" >
+                    :title="$t('Slides.text_element')" >
                     <LayerEditTool 
                       :isActiveEl="activeLayerEl.type==='text'?true:false"
                       :elInfo="activeLayerEl.type==='text'?activeLayerEl:BaseTextShape" 
@@ -356,7 +356,7 @@ export default {
         catalogId:0,//ppt目录id,添加ppt时需要
         ReportId:0,//ppt对应的双周报id,如果没转过,则为0
         isChartLoading:false,//是否正在加载图表/图片
-        panelTabs: [ '图表','MyETA批量','沙盘','表格','语义分析插入' ],
+        panelTabs: [ '图表',this.$t('Slides.my_eta_batch'),this.$t('Slides.sandbox_name'),this.$t('Slides.table_name'),'语义分析插入' ],
         sheetSearchList:[],
         sheetSearchObj: {
           Keyword:''
@@ -537,7 +537,7 @@ export default {
       }else{
         this.changeCurrentItem(this.pageList[this.currentIndex])
       }
-      this.$message.success('删除成功')
+      this.$message.success(this.$t('MsgPrompt.delete_msg'))
     },
     //删除活跃页的某一位置的图表/图片/其他组件
     handleDelChart(position) {
@@ -1012,7 +1012,7 @@ export default {
         CoverContent:this.CoverContent
       }).then(res=>{
         if(res.Ret===200){
-          this.$message.success('新增成功')
+          this.$message.success(this.$t('MsgPrompt.add_msg'))
           //this.$router.push({path:'/pptlist'})
           this.isSave = true
           this.pptId = res.Data.PptId
@@ -1033,7 +1033,7 @@ export default {
       }).then(res=>{
         if(res.Ret===200){
           if(type==='save'){
-            this.$message.success('编辑成功')
+            this.$message.success(this.$t('MsgPrompt.edit_msg'))
           }
           this.isSave = true
           this.pptId = res.Data.PptId
@@ -1244,7 +1244,7 @@ export default {
       this.$nextTick(()=>{
         this.$refs.deletePage.dataLoading = false
         this.deletePageShow = false
-        this.$message.success('批量删除成功')
+        this.$message.success(this.$t('Slides.batch_deletion_successful'))
       })
       
     },

+ 48 - 48
src/views/ppt_manage/newVersion/pptEnCatalog.vue

@@ -10,14 +10,14 @@
     <div class="list-wrap ppt-page-wrap" id="left" v-show="!isSlideLeft">
       <div class="add-btn">
         <el-button type="primary" v-permission="permissionBtn.enPPTPermission.pptEn_save"
-        @click="handleChooseCatalog('add')">添加ppt</el-button>
+        @click="handleChooseCatalog('add')">{{$t('Slides.add_ppt_btn')}}</el-button>
         <el-button v-permission="permissionBtn.enPPTPermission.pptEn_merge"
-            type="primary" plain @click="handleOpenMergeDialog">合并ppt</el-button>
+            type="primary" plain @click="handleOpenMergeDialog">{{$t('Slides.ppt_merge_btn')}}</el-button>
       </div>
       <div class="select-wrap">
         <el-select
           filterable remote
-          placeholder="请输入PPT标题"
+          :placeholder="$t('Slides.input_ppt_title')"
           v-model="searchTitle"
           :remote-method="searchHandle"
           clearable
@@ -108,7 +108,7 @@
                     >
                       <img src="~@/assets/img/chart_m/Group.png"
                         style="width: 14px; height: 14px; margin-right: 8px"
-                      />仅自己可见
+                      />{{$t('Slides.visible_to_self_only')}}
                     </el-dropdown-item>
                     <el-dropdown-item :command="{key:'share',item:data}"
                       class="treenode-dropdown-item"
@@ -116,7 +116,7 @@
                     >
                       <img src="~@/assets/img/chart_m/User.png"
                         style="width: 14px; height: 14px; margin-right: 8px"
-                      />所有人可见
+                      />{{$t('Slides.visible_to_everyone')}}
                     </el-dropdown-item>
                   </el-dropdown-menu>
                 </el-dropdown>
@@ -126,13 +126,13 @@
                   </span>
                   <el-dropdown-menu slot="dropdown">
                     <el-dropdown-item v-permission="permissionBtn.enPPTPermission.pptEn_copy"
-                        :command="{key:'copy',item:data}" v-if="data.GroupId||data.PptId">复制</el-dropdown-item>
+                        :command="{key:'copy',item:data}" v-if="data.GroupId||data.PptId">{{$t('Slides.operations_copy')}}</el-dropdown-item>
                     <el-dropdown-item v-permission="permissionBtn.enPPTPermission.pptEn_save"
-                        :command="{key:'edit',item:data}" v-if="data.GroupId">重命名</el-dropdown-item>
+                        :command="{key:'edit',item:data}" v-if="data.GroupId">>{{$t('Slides.operations_rename')}}</el-dropdown-item>
                     <el-dropdown-item v-permission="permissionBtn.enPPTPermission.pptEn_del"
-                        :command="{key:'del',item:data}">删除</el-dropdown-item>
-                    <el-dropdown-item :command="{key:'openShare',item:data}" v-if="data.PptId && !data.IsGrant && permissionBtn.isShowBtn('enPPTPermission','pptEn_setShare')">设置共享</el-dropdown-item>
-                    <el-dropdown-item :command="{key:'cancelShare',item:data}" v-if="data.PptId && data.IsGrant && permissionBtn.isShowBtn('enPPTPermission','pptEn_setShare')">取消共享</el-dropdown-item>
+                        :command="{key:'del',item:data}">{{$t('Slides.operations_delete')}}</el-dropdown-item>
+                    <el-dropdown-item :command="{key:'openShare',item:data}" v-if="data.PptId && !data.IsGrant && permissionBtn.isShowBtn('enPPTPermission','pptEn_setShare')">{{$t('Slides.operations_share')}}</el-dropdown-item>
+                    <el-dropdown-item :command="{key:'cancelShare',item:data}" v-if="data.PptId && data.IsGrant && permissionBtn.isShowBtn('enPPTPermission','pptEn_setShare')">{{$t('Slides.operations_unshare')}}</el-dropdown-item>
                   </el-dropdown-menu>
                 </el-dropdown>
                 </span>
@@ -163,8 +163,8 @@
                     <i class="el-icon-more" style="font-size: 16px;transform: rotate(90deg);cursor: pointer"/>
                   </span>
                   <el-dropdown-menu slot="dropdown">
-                    <el-dropdown-item :command="{key:'cancelShare',item:data}">取消共享</el-dropdown-item>
-                    <el-dropdown-item :command="{key:'set',item:data}">选择用户</el-dropdown-item>
+                    <el-dropdown-item :command="{key:'cancelShare',item:data}">{{$t('Slides.operations_unshare')}}</el-dropdown-item>
+                    <el-dropdown-item :command="{key:'set',item:data}">{{$t('Slides.select_user_btn')}}</el-dropdown-item>
                   </el-dropdown-menu>
                 </el-dropdown>
               </span>
@@ -178,7 +178,7 @@
             alt=""
             style="width: 16px; height: 16px; margin-right: 10px"
           />
-          <span>添加我的目录</span>
+          <span>{{$t('Slides.add_my_directory')}}</span>
         </div>
       </div>
       <span class="slide-icon slide-left" @click="slideHandle">
@@ -220,7 +220,7 @@
               :style="item.BackgroundImg?{background: `no-repeat top/cover url('${item.BackgroundImg}')`}:{}">
                 <span>{{item.Title}}</span>
               </div>
-              <span style="font-size:14px;">创建时间:{{$moment(item.PptCreateTime).format('YYYY-MM-DD')}}</span>
+              <span style="font-size:14px;">{{$t('Slides.creation_time')}}:{{$moment(item.PptCreateTime).format('YYYY-MM-DD')}}</span>
             </div>
           </draggable>
           <div class="empty" v-if="catalogPPTList.length===0">
@@ -239,14 +239,14 @@
         </div>
         <div class="tool-side ppt-page-wrap">
           <div class="ppt-info">
-            <div>作者:{{pptItem.AdminRealName}}</div>
+            <div>{{$t('Slides.author_info')}}:{{pptItem.AdminRealName}}</div>
             <div>
-              {{pptItem.PptxUrl?'发布':'保存'}}
-              时间:{{$moment(pptItem.PptxUrl?pptItem.PublishTime || undefined:pptItem.PptModifyTime || undefined).format('YYYY-MM-DD')}}
+              {{pptItem.PptxUrl? $t('Slides.publish_info') : $t('Slides.publish_info') }}
+              {{$t('Slides.time_info')}}:{{$moment(pptItem.PptxUrl?pptItem.PublishTime || undefined:pptItem.PptModifyTime || undefined).format('YYYY-MM-DD')}}
             </div>
           </div>
           <div class="tool-list-operation">
-            <span>操作</span>
+            <span> {{$t('Slides.operation_info')}}</span>
             <div class="tool-list">
               <span v-for="item in pptToolList" :key="item.key" 
                 :class="{'delete':item.key==='delete'}"
@@ -366,10 +366,10 @@ export default {
 
       default_tab: '1',
       panelTabs: [
-        { label: '我的PPT', key: '1' },
-        { label: '共享PPT', key: '2' },
-        { label: '公共PPT', key: '3' },
-      ],
+        { label: this.$t('Slides.my_ppt_tabs'), key: '1' },
+        { label: this.$t('Slides.share_ppt_tabs'), key: '2' },
+        { label: this.$t('Slides.public_ppt_tabs'), key: '3' },
+      ],,
 
       sharedList: [],//共享目录
       sharedExpandKeys: [],//共享ppt目录默认展开的项
@@ -433,7 +433,7 @@ export default {
         })
       }
       if(res.Ret===200){
-        this.$message.success(item.GroupId?'重命名成功':'新增成功')
+        this.$message.success(item.GroupId? this.$t('Slides.rename_successful') :this.$t('MsgPrompt.add_msg'))
         this.getCatalogsList()
         this.modifyCatalogShow = false
       }
@@ -459,7 +459,7 @@ export default {
           PptId:this.pptItem.PptId
         }).then(async (res)=>{
           if(res.Ret===200){
-            this.$message.success('复制成功')
+            this.$message.success(this.$t('Slides.copy_successfully'))
             //更新目录列表
             await this.getCatalogsList()
             //切换到"我的PPT",展开选择的目录,选中复制的PPT
@@ -534,7 +534,7 @@ export default {
       }
       //去掉转英文PPT按钮
       this.pptToolList = this.pptToolList.filter(_=>_.key!=='transEn')
-      const labelName = this.pptItem.isTrans?'查看报告':'转报告'
+      const labelName = this.pptItem.isTrans?'查看报告': this.$t('Slides.convert_to_report')
       this.pptToolList.map(i=>{
         if(i.key==='transform'){
           i.label = labelName
@@ -564,7 +564,7 @@ export default {
       //若有人在编辑,则显示编辑中
       if(this.pptToolList.find(i=>i.key==='edit')){
         const {Editor={}} = pptDetail
-        let labelName = '编辑'
+        let labelName = this.$t('Slides.edit_lable_name')
         if(Editor.IsEditing&&Editor.AdminId!==Number(localStorage.getItem('AdminId'))){
             labelName = `${Editor.Editor}编辑中...`
         }
@@ -627,7 +627,7 @@ export default {
         GroupId:data.GroupId
       }).then(res=>{
         if(res.Ret===200){
-          this.$message.success('复制成功')
+          this.$message.success(this.$t('Slides.copy_successfully'))
           this.getCatalogsList()
         }
       })
@@ -643,11 +643,11 @@ export default {
     //删除PPT
     deletePPT(data){
       this.$confirm(
-        '删除操作不可恢复,若该PPT被共享,则同步删除共享PPT,确认删除吗?',
-        '提示',
+        this.$t('Slides.delete_confirm_info'),
+        this.$t('Confirm.prompt'),
         {
-            confirmButtonText: '确定',
-            cancelButtonText: '取消',
+            confirmButtonText:  this.$t('Dialog.confirm_btn'),
+            cancelButtonText: this.$t('Dialog.cancel_btn'),
             type: 'warning',
         }
       ).then(()=>{
@@ -655,7 +655,7 @@ export default {
           PptId:data.PptId
         }).then((res)=>{
           if(res.Ret===200){
-            this.$message.success('删除成功');
+            this.$message.success(this.$t('MsgPrompt.delete_msg'));
             this.getCatalogsList()
             const catalog = this[`${this.treeName}List`].find(i=>i.GroupId===data.catalogId)
             this.$refs[`${this.treeName}Tree`].setCurrentKey(data.catalogId)
@@ -676,15 +676,15 @@ export default {
     //删除目录
     deleteCatalog(data){
       if(data.PptList&&data.PptList.length!==0){
-        this.$message.error('该目录下有关联PPT,不允许删除')
+        this.$message.error(this.$t('Slides.delete_directory_ppt_info'))
         return
       }
       this.$confirm(
-        '删除操作不可恢复,确认删除吗?',
-        '提示',
+        this.$t('Slides.delete_directory_info'),
+        this.$t('Confirm.prompt'),
         {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
+          confirmButtonText:  this.$t('Dialog.confirm_btn'),
+          cancelButtonText: this.$t('Dialog.cancel_btn'),
           type: 'warning',
         }
       ).then(()=>{
@@ -692,7 +692,7 @@ export default {
           GroupId:data.GroupId
         }).then((res)=>{
           if(res.Ret===200){
-            this.$message.success('删除成功');
+            this.$message.success(this.$t('MsgPrompt.delete_msg'));
             if(data.GroupId===this.selectNode.GroupId){
               this.selectNode=null
             }
@@ -768,7 +768,7 @@ export default {
           x.send()
         }
       }else{
-        this.$message.warning('请先预览发布')
+        this.$message.warning(this.$t('Slides.please_preview_info'))
       }
     },
     //共享/取消共享
@@ -785,7 +785,7 @@ export default {
           PptId:item.PptId
         }).then(res=>{
           if(res.Ret===200){
-            this.$message.success('设置成功')
+            this.$message.success(this.$t('Slides.settings_successfully'))
             this.getCatalogsList()
           }
         })
@@ -1040,7 +1040,7 @@ export default {
           //打开报告设置弹窗
           this.transReportShow = true
         }else{
-          this.$message.warning('请先预览发布!')
+          this.$message.warning(this.$t('Slides.please_preview_info'))
         }
         
       }
@@ -1054,7 +1054,7 @@ export default {
         Abstract:data.abstract
       }).then(res=>{
         if(res.Ret===200){
-          this.$message.success('转换成功')
+          this.$message.success(this.$t('Slides.conversion_successfully'))
           this.transReportShow = false
           this.getCatalogsList()
           //更新item
@@ -1134,12 +1134,12 @@ export default {
 
       }else {
         this.$confirm(
-          '确定要取消共享吗',
-          '提示',
+          this.$t('Slides.cancel_sharing_info'),
+          this.$t('Confirm.prompt'),
           {
-              confirmButtonText: '确定',
-              cancelButtonText: '取消',
-              type: 'warning',
+            confirmButtonText: this.$t('Dialog.confirm_btn'),
+            cancelButtonText: this.$t('Dialog.cancel_btn'),
+            type: 'warning',
           }
         ).then(()=>{
           pptEnInterface.cancelShareAuth({
@@ -1147,7 +1147,7 @@ export default {
           }).then(res => {
             if(res.Ret !== 200) return
 
-            this.$message.success('取消成功');
+            this.$message.success(this.$t('MsgPrompt.delete_msg'));
             this.getCatalogsList()
           })
         })

+ 37 - 37
src/views/ppt_manage/newVersion/pptEnEditor.vue

@@ -5,14 +5,14 @@
             <div class="cover" :style="`background: no-repeat center/cover url(${firstPage.BackgroundImg||''});background-color:#F2F6FA;background-size:100% 100%;`">
                 <img src="~@/assets/img/ppt_m/add_first.png" />
             </div>
-            <p class="hint-text">选择封面页</p>
+            <p class="hint-text">{{$t('Slides.select_cover_page')}}</p>
         </div>
-        <div class="hint-box"><div class="hint"  @click="showHint"><span class="el-icon-info" style="margin-right:5px;"></span>操作说明</div></div>
+        <div class="hint-box"><div class="hint"  @click="showHint"><span class="el-icon-info" style="margin-right:5px;"></span>{{$t('Slides.operating_instructions')}}</div></div>
         <div style="display:flex;justify-content: space-between;">
           <p style="text-align:start;color:#999999;">已添加{{pageList.length}}页</p>
-          <p class="hint-text" style="cursor: pointer;" @click="saveCopyPages('cut')">剪切</p>
-          <p class="hint-text" style="cursor: pointer;" @click="saveCopyPages('copy')">复制</p>
-          <p style="color:#B72E18;cursor: pointer;" @click="openDeletePageDialog">批量删除</p>
+          <p class="hint-text" style="cursor: pointer;" @click="saveCopyPages('cut')">{{$t('Slides.operations_cut')}}</p>
+          <p class="hint-text" style="cursor: pointer;" @click="saveCopyPages('copy')">{{$t('Slides.operations_copy')}}</p>
+          <p style="color:#B72E18;cursor: pointer;" @click="openDeletePageDialog">{{$t('Slides.operations_batch_delete')}}</p>
         </div>
         
         <div class="index-list" ref="pptList" v-click-outside="resetCopyPages">
@@ -53,7 +53,7 @@
                   @click="changeCurrentItem(item)">
                     <!-- 标题 -->
                     <div class="title-wrap" style="left:8%;width:62%;">
-                        <input type="text" placeholder="单击输入标题" v-model="item.title"/> 
+                        <input type="text" :placeholder="$t('Slides.click_to_input_title')" v-model="item.title"/> 
                     </div>
                     <!-- 内容 -->
                     <component  :is="getComponentName(item.modelId)"
@@ -79,8 +79,8 @@
                     <!-- 删除按钮 -->
                     <el-popconfirm
                         @onConfirm="delPage(item)"
-                        confirmButtonText='删除'
-                        cancelButtonText='取消'
+                        :confirmButtonText="$t('Slides.operations_delete')"
+                        :cancelButtonText="$t('Slides.operations_cancel')"
                         confirmButtonType="text"
                         icon="el-icon-info"
                         iconColor="red"
@@ -90,12 +90,12 @@
                     <!-- 页码 -->
                     <span class="page-num">第{{index+1}}页</span>
                     <!-- 更新图表 -->
-                    <span class="update-btn" v-show="item.modelId!==6&&item.elements.find((i)=>i.type==='chart')" @click.stop="updatePage(item)"><span class="update-ico"></span> 更新图表</span>
+                    <span class="update-btn" v-show="item.modelId!==6&&item.elements.find((i)=>i.type==='chart')" @click.stop="updatePage(item)"><span class="update-ico"></span>{{$t('Slides.update_chart_btn')}}</span>
                 </div>
                 <AddFormat v-if="index===pageList.length-1" @addPage="addPage($event,index+1)" :chooseModalId="chooseModalId"/>
               </div> 
               <!-- 自定义右键菜单 -->
-              <context-menu :menu="[{id:1,text:'粘贴元素',eventName:'paste',canClick:Boolean(copyShape.id)}]" @paste="pasteLayerEl"/>
+              <context-menu :menu="[{id:1,text:$t('Slides.paste_element_btn'),eventName:'paste',canClick:Boolean(copyShape.id)}]" @paste="pasteLayerEl"/>
             </template>
             <template v-else>
                <div class="ppt-editor-item flex-column">
@@ -106,9 +106,9 @@
         <div class="ppt-tool flex-column">
             <div class="tool-btn">
                 <el-button v-permission="permissionBtn.enPPTPermission.pptEn_publish"
-                 type="primary" @click="handlePublish">去发布</el-button>
-                <el-button @click="handleSave('save')">保存</el-button>
-                <el-button type="text" @click="handleChangeEditModal"><i class="el-icon-sort" style="transform: rotate(90deg);margin-right:5px;"></i>{{isEditLayer?'ppt编辑':'图层编辑'}}</el-button>
+                 type="primary" @click="handlePublish">{{$t('Slides.go_to_publish')}}</el-button>
+                <el-button @click="handleSave('save')">{{$t('Slides.operations_save')}}</el-button>
+                <el-button type="text" @click="handleChangeEditModal"><i class="el-icon-sort" style="transform: rotate(90deg);margin-right:5px;"></i>{{isEditLayer?'ppt编辑':$t('Slides.layer_editing')}}</el-button>
             </div>
             <div class="richtext-tool"></div>
             <div class="addppt-right-box" v-show="!isEditLayer">
@@ -118,15 +118,15 @@
               </el-tabs>
               <div class="chart-tool flex-column" v-show="tabsactive == '图表'">
                 <div class="chart-search">
-                    <el-input placeholder="关键字查找" v-model="key_word" size="medium" prefix-icon="el-icon-search" @input="() => {search_page=1;$refs.chartListRef.scrollTop = 0;getreportlist()}" style="max-width:420px;"></el-input>
+                    <el-input :placeholder="$t('Slides.keyword_search')" v-model="key_word" size="medium" prefix-icon="el-icon-search" @input="() => {search_page=1;$refs.chartListRef.scrollTop = 0;getreportlist()}" style="max-width:420px;"></el-input>
                 </div>
                 <el-radio-group v-model="chart_source" @change="() => {search_page=1;$refs.chartListRef.scrollTop = 0;getreportlist()}" style="margin: 10px 0;">
-                  <el-radio :label="1" style="margin-bottom:5px">ETA图库</el-radio>
-                  <el-radio :label="2" style="margin-bottom:5px">商品价格曲线</el-radio> 
-                  <el-radio :label="3" style="margin-bottom:5px">相关性图表</el-radio> 
-                  <el-radio :label="6" style="margin-bottom:5px">拟合方程曲线</el-radio>
-                  <el-radio :label="7" style="margin-bottom:5px">统计特征</el-radio>
-                  <el-radio :label="10">跨品种分析</el-radio>
+                  <el-radio :label="1" style="margin-bottom:5px">{{$t('Slides.eta_chart_gallery')}}</el-radio>
+                  <el-radio :label="2" style="margin-bottom:5px">{{$t('Slides.commodity_price_curve')}}</el-radio> 
+                  <el-radio :label="3" style="margin-bottom:5px">{{$t('Slides.correlation_charts')}}</el-radio> 
+                  <el-radio :label="6" style="margin-bottom:5px">{{$t('Slides.fitted_equation_curves')}}</el-radio>
+                  <el-radio :label="7" style="margin-bottom:5px">{{$t('Slides.statistical_features')}}</el-radio>
+                  <el-radio :label="10">{{$t('Slides.intercommodity_analysis')}}</el-radio>
                 </el-radio-group>
                 <div style="margin: 10px 0">
                   <el-checkbox v-model="isShowMe" @change="() => {search_page=1;$refs.chartListRef.scrollTop = 0;getreportlist()}">只看我的</el-checkbox>
@@ -142,12 +142,12 @@
                         <img :src="item.ChartImage" ref="insert_img" />
                     </div>
                     </template>
-                    <tableNoData text="暂无数据" size="mini" v-else/>
+                    <tableNoData  :text="$t('Table.prompt_slogan')" size="mini" v-else/>
                 </div>
               </div>
-              <div v-show="tabsactive == '沙盘'" class="chart-tool flex-column">
+              <div v-show="tabsactive == $t('Slides.sandbox_name')" class="chart-tool flex-column">
                 <div class="chart-search">
-                    <el-input placeholder="沙盘名称/品种" v-model="sandTabelQuery.Keyword" size="medium" prefix-icon="el-icon-search" style="max-width:420px;"></el-input>
+                    <el-input :placeholder="$t('Slides.sandbox_name_category')" v-model="sandTabelQuery.Keyword" size="medium" prefix-icon="el-icon-search" style="max-width:420px;"></el-input>
                 </div>
                 <div class="chart-list" id="sandTable" @scroll="sandTableHandleScroll">
                   <template v-if="sandTableList.length">
@@ -158,12 +158,12 @@
                     </div>
                     <div v-loading = "sandTableLoading" class="loaded-text">{{loadedText}}</div>
                   </template>
-                  <tableNoData text="暂无数据" size="mini" v-else/>
+                  <tableNoData :text="$t('Table.prompt_slogan')" size="mini" v-else/>
                 </div>
               </div>
-              <div v-show="tabsactive == '表格'" class="chart-tool flex-column">
+              <div v-show="tabsactive == $t('Slides.table_name')" class="chart-tool flex-column">
                 <div class="chart-search">
-                    <el-input placeholder="表格名称" v-model="sheetSearchObj.Keyword" size="medium" prefix-icon="el-icon-search" style="max-width:420px;" @input="getSheetList"></el-input>
+                    <el-input :placeholder="$t('Slides.table_name_input')" v-model="sheetSearchObj.Keyword" size="medium" prefix-icon="el-icon-search" style="max-width:420px;" @input="getSheetList"></el-input>
                 </div>
                 <div class="chart-list" id="sandTable">
                   <template v-if="sheetSearchList.length">
@@ -172,10 +172,10 @@
                       <img :src="item.ExcelImage" style="width:100%;object-fit: contain;height: 250px"  @click="chooseChart(item,'sheet')"/>
                     </div>
                   </template>
-                  <tableNoData text="暂无数据" size="mini" v-else/>
+                  <tableNoData :text="$t('Table.prompt_slogan')" size="mini" v-else/>
                 </div>
               </div>
-              <div v-show="tabsactive == 'MyETA批量'" class="chart-tool flex-column">
+              <div v-show="tabsactive == $t('Slides.my_eta_batch')" class="chart-tool flex-column">
                 <insert-charts 
                   @handleImportMyChart="handleImportMyChart"
                   :showEnMark="true"
@@ -188,7 +188,7 @@
             <!-- 图层编辑 -->
             <div class="layer-edit-box" v-show="isEditLayer">
               	<el-collapse v-model="activeNames" class="tool-list">
-                  <el-collapse-item title="图层元素" name="el">
+                  <el-collapse-item :title="$t('Slides.layer_element')" name="el">
                     <div class="el-wrap">
                       <div class="el-item" 
                        v-for="(shape,index) in layerElArr" :key="index" @click="addLayerEl(shape)">
@@ -199,21 +199,21 @@
                     </div>
                   </el-collapse-item>
                   <el-collapse-item  name="line"
-                    title="线条设置" >
+                    :title="$t('Slides.line_settings')" >
                     <LayerEditTool 
                       :isActiveEl="activeLayerEl.type==='line'?true:false"
                       :elInfo="activeLayerEl.type==='line'?activeLayerEl:BaseLineShape" 
                       baseType="line"/>
                   </el-collapse-item>
                   <el-collapse-item  name="shape"
-                    title="线框设置" >
+                    :title="$t('Slides.outline_element')" >
                     <LayerEditTool 
                       :isActiveEl="activeLayerEl.type==='shape'?true:false"
                       :elInfo="activeLayerEl.type==='shape'?activeLayerEl:BaseRectShape" 
                       baseType="shape"/>
                   </el-collapse-item>
                   <el-collapse-item  name="text"
-                    title="文本设置" >
+                     :title="$t('Slides.text_element')" >
                     <LayerEditTool 
                       :isActiveEl="activeLayerEl.type==='text'?true:false"
                       :elInfo="activeLayerEl.type==='text'?activeLayerEl:BaseTextShape" 
@@ -380,7 +380,7 @@ export default {
         catalogId:0,//ppt目录id,添加ppt时需要
         ReportId:0,//ppt对应的双周报id,如果没转过,则为0
         isChartLoading:false,//是否正在加载图表/图片
-        panelTabs: [ '图表','MyETA批量','沙盘','表格','语义分析插入' ],
+        panelTabs: [ '图表',this.$t('Slides.my_eta_batch'),this.$t('Slides.sandbox_name'),this.$t('Slides.table_name'),'语义分析插入' ],
         sheetSearchList:[],
         sheetSearchObj: {
           Keyword:''
@@ -554,7 +554,7 @@ export default {
       }else{
         this.changeCurrentItem(this.pageList[this.currentIndex])
       }
-      this.$message.success('删除成功')
+      this.$message.success(this.$t('MsgPrompt.delete_msg'))
     },
     //删除活跃页的某一位置的图表/图片/其他组件
     handleDelChart(position) {
@@ -1000,7 +1000,7 @@ export default {
         CoverContent:this.CoverContent
       }).then(res=>{
         if(res.Ret===200){
-          this.$message.success('新增成功')
+          this.$message.success(this.$t('MsgPrompt.add_msg'))
           this.isSave = true
           this.pptId = res.Data.PptId
           sessionStorage.removeItem('selectedCatalog')
@@ -1019,7 +1019,7 @@ export default {
       }).then(res=>{
         if(res.Ret===200){
           if(type==='save'){
-            this.$message.success('编辑成功')
+            this.$message.success(this.$t('MsgPrompt.edit_msg'))
           }
           this.isSave = true
           this.pptId = res.Data.PptId
@@ -1222,7 +1222,7 @@ export default {
       this.$nextTick(()=>{
         this.$refs.deletePage.dataLoading = false
         this.deletePageShow = false
-        this.$message.success('批量删除成功')
+        this.$message.success(this.$t('Slides.batch_deletion_successful'))
       })
       
     },

+ 5 - 5
src/views/ppt_manage/newVersion/pptEnPresent.vue

@@ -74,7 +74,7 @@
             <span>第{{currentIndex+1}}页PPT,共{{`${isShowBack?(pageList.length+2):(pageList.length+1)}`}}页</span>
           </div>
           <div class="btn-list">
-            <el-button @click="(e)=>{FullScreen(e,'live')}" type="primary" class="btn">人像模式播放</el-button>
+            <el-button @click="(e)=>{FullScreen(e,'live')}" type="primary" class="btn">{{$t('Slides.portrait_mode_playback')}}</el-button>
             <el-dropdown split-button type="primary" @command="handleLayoutCommand" class="btn">
               {{layoutStr}}
               <el-dropdown-menu slot="dropdown">
@@ -84,9 +84,9 @@
               </el-dropdown-menu>
             </el-dropdown>
             <el-dropdown split-button type="primary" @click="FullScreen" @command="handleCommand">
-              从当前页播放
+              {{$t('Slides.play_from_current_slide')}}
               <el-dropdown-menu slot="dropdown">
-                <el-dropdown-item>从首页播放</el-dropdown-item>
+                <el-dropdown-item>{{$T('Slides.play_for_the_first_slide')}}</el-dropdown-item>
               </el-dropdown-menu>
             </el-dropdown>
           </div>
@@ -214,7 +214,7 @@ export default {
       hintText:null,//全屏提示语
       isContextMenuShow:false,
       currentKey:0,
-      layoutStr:'10:7(默认)',
+      layoutStr:`10.7${this.$t('Slides.default_size')}`,
       LayoutType:1,//ppt比例,1:默认比例10:7,2:16:9,3:4:3
       coefficient:0.7,//宽高系数
       contentScale:1,//文本区域的缩放系数,基准:编辑页的ppt-item宽高
@@ -508,7 +508,7 @@ export default {
     //改变ppt的宽高比
     async handleLayoutCommand(command){
       this.LayoutType = command
-      this.layoutStr = ['','10:7(默认)','16:9 ','4:3 '][this.LayoutType]
+      this.layoutStr = ['',`10:7${t('Slides.default_size')}`,'16:9 ','4:3 '][this.LayoutType]
       this.$nextTick(()=>{
         reloadPPTWid()
         $('.ppt-item').css('height',$('.ppt-item').width()*this.coefficient);

+ 3 - 3
src/views/ppt_manage/newVersion/pptEnPublish.vue

@@ -99,7 +99,7 @@ export default {
       loadingAll:true,//是否加载全部,false代表使用虚拟列表加载
       LayoutType:1,//ppt比例,1:默认比例10:7,2:16:9,3:4:3
       coefficient:0.7,//宽高系数
-      layoutStr:'10:7(默认)发布',
+      layoutStr:`10:7${this.$t('Slides.default_publish')}`,
       ReportId:0,//ppt对应的双周报id,如果没转过,则为0
       transReportShow:false,//转双周报的弹窗是否显示
       transChartType:2,//生成PPT时,转换动态图表的方式:1.将svg传至服务端转换;2.调用changeUrl转换
@@ -501,7 +501,7 @@ export default {
           PptxUrl:url
         })
       if(res.Ret===200){
-        this.$message.success('发布成功!')
+        this.$message.success(this.$t('MsgPrompt.publish_msg'))
         this.publishLoading&&this.publishLoading.close()
         //如果该ppt已转成双周报,则发布成功后更新双周报
         //需求池272 PPT生成报告后,PPT更新内容或报告更新内容两者互不影响 遂注释
@@ -622,7 +622,7 @@ export default {
     },
     async handleCommand(command){
       this.LayoutType = command
-      this.layoutStr = ['','10:7(默认)发布','16:9 发布','4:3 发布'][this.LayoutType]
+      this.layoutStr = ['',`10:7${this.$t('Slides.default_publish')}`,`16:9 ${this.$t('Slides.publish_info')}`,`4:3 ${this.$t('Slides.publish_info')}`][this.LayoutType]
       await this.init()
     },
   /*   getTransSet(data){

+ 6 - 6
src/views/ppt_manage/newVersion/pptList.vue

@@ -2,7 +2,7 @@
   <div class="page-wrap">
     <div class="ppt-page-wrap">
       <div class="top-wrap">
-          <el-button type="primary" @click="toPage({PptVersion:2},'add')">添加ppt</el-button>
+          <el-button type="primary" @click="toPage({PptVersion:2},'add')">{{$t('Slides.add_ppt_btn')}}</el-button>
           <el-input placeholder="标题/创建人" v-model="key_word" size="medium" prefix-icon="el-icon-search" @input="getpptlist" style="max-width:420px;"></el-input>
         </div>
       <div class="list-wrap">
@@ -17,10 +17,10 @@
           <el-table-column label="操作" align="center" min-width="200">
             <template slot-scope="{row}">
 							<div style="color:#4099ef; font-size:24px;">
-								<span class="editsty" @click="toPage(row,'publish')">预览发布</span>
-                <span class="editsty" @click="toPage(row,'present')" v-if="row.PptVersion===2">演示</span>
+								<span class="editsty" @click="toPage(row,'publish')">{{$t('Slides.operations_preview')}}</span>
+                <span class="editsty" @click="toPage(row,'present')" v-if="row.PptVersion===2">{{$t('Slides.operations_presentation')}}</span>
 								<a @click.prevent="downloadPpt(row.PptxUrl)" :download="row.Title" class="editsty">下载pptx</a>
-								<span class="editsty" @click="toPage(row,'edit')" v-if="row.PptVersion===2">编辑</span>
+								<span class="editsty" @click="toPage(row,'edit')" v-if="row.PptVersion===2">{{$t('Slides.edit_lable_name')}}</span>
                 <el-popover placement="top" width="160" v-model="row.deletePopVisible"
               :ref="`pop_${row.PptId}`">
               <p>该操作不可撤销,确定删除吗?</p>
@@ -122,7 +122,7 @@ export default {
           a.click();
         }
       }else{
-        this.$message.warning('请先预览发布')
+        this.$message.warning(this.$t('Slides.please_preview_info'))
       }
     },
     async deletePpt(item){
@@ -130,7 +130,7 @@ export default {
         PptId:item.PptId
       })
       if(res.Ret===200){
-        this.$message.success('删除成功')
+        this.$message.success(this.$t('MsgPrompt.delete_msg'))
         this.getpptlist()
       }
     },

+ 5 - 5
src/views/ppt_manage/newVersion/pptPresent.vue

@@ -74,7 +74,7 @@
             <span>第{{currentIndex+1}}页PPT,共{{`${isShowBack?(pageList.length+2):(pageList.length+1)}`}}页</span>
           </div>
           <div class="btn-list">
-            <el-button @click="(e)=>{FullScreen(e,'live')}" type="primary" class="btn">人像模式播放</el-button>
+            <el-button @click="(e)=>{FullScreen(e,'live')}" type="primary" class="btn"> {{$t('Slides.portrait_mode_playback')}} </el-button>
             <el-dropdown split-button type="primary" @command="handleLayoutCommand" class="btn">
               {{layoutStr}}
               <el-dropdown-menu slot="dropdown">
@@ -84,9 +84,9 @@
               </el-dropdown-menu>
             </el-dropdown>
             <el-dropdown split-button type="primary" @click="FullScreen" @command="handleCommand">
-              从当前页播放
+              {{$t('Slides.play_from_current_slide')}}
               <el-dropdown-menu slot="dropdown">
-                <el-dropdown-item>从首页播放</el-dropdown-item>
+                <el-dropdown-item> {{$t('Slides.play_for_the_first_slide')}}</el-dropdown-item>
               </el-dropdown-menu>
             </el-dropdown>
           </div>
@@ -213,7 +213,7 @@ export default {
       hintText:null,//全屏提示语
       isContextMenuShow:false,
       currentKey:0,
-      layoutStr:'10:7(默认)',
+      layoutStr:`10.7${this.$t('Slides.default_size')}`,
       LayoutType:1,//ppt比例,1:默认比例10:7,2:16:9,3:4:3
       coefficient:0.7,//宽高系数
       contentScale:1,//文本区域的缩放系数,基准:编辑页的ppt-item宽高
@@ -506,7 +506,7 @@ export default {
     //改变ppt的宽高比
     async handleLayoutCommand(command){
       this.LayoutType = command
-      this.layoutStr = ['','10:7(默认)','16:9 ','4:3 '][this.LayoutType]
+      this.layoutStr = ['',`10.7${this.$t('Slides.default_size')}`,'16:9 ','4:3 '][this.LayoutType]
       this.$nextTick(()=>{
         reloadPPTWid()
         $('.ppt-item').css('height',$('.ppt-item').width()*this.coefficient);

+ 5 - 5
src/views/ppt_manage/newVersion/pptPublish.vue

@@ -14,7 +14,7 @@
             <el-dropdown-item :command="3">4:3</el-dropdown-item>
           </el-dropdown-menu>
         </el-dropdown>
-				<el-button  type="primary" plain style="width:120px;height:40px;" @click="$router.push({path:'/pptlist'})">返回列表</el-button>
+				<el-button  type="primary" plain style="width:120px;height:40px;" @click="$router.push({path:'/pptlist'})">{{$t('Slides.return_to_list')}}</el-button>
       </div>
       <!--全加载-->
       <template v-if="loadingAll">
@@ -108,7 +108,7 @@ export default {
       loadingAll:true,//是否加载全部,false代表使用虚拟列表加载
       LayoutType:1,//ppt比例,1:默认比例10:7,2:16:9,3:4:3
       coefficient:0.7,//宽高系数
-      layoutStr:'10:7(默认)发布',
+      layoutStr:`10:7${this.$t('Slides.default_publish')}`,
       ReportId:0,//ppt对应的双周报id,如果没转过,则为0
       transReportShow:false,//转双周报的弹窗是否显示
       transChartType:2,//生成PPT时,转换动态图表的方式:1.将svg传至服务端转换;2.调用changeUrl转换
@@ -523,7 +523,7 @@ export default {
           PptxUrl:url
         })
       if(res.Ret===200){
-        this.$message.success('发布成功!')
+        this.$message.success(this.$t('MsgPrompt.publish_msg'))
         this.publishLoading.close()
         //如果该ppt没有转成双周报
         /* if(this.ReportId===0){
@@ -661,7 +661,7 @@ export default {
     },
     async handleCommand(command){
       this.LayoutType = command
-      this.layoutStr = ['','10:7(默认)发布','16:9 发布','4:3 发布'][this.LayoutType]
+      this.layoutStr = ['',`10:7${this.$t('Slides.default_publish')}`,`16:9 ${this.$t('Slides.publish_info')}`,`4:3 ${this.$t('Slides.publish_info')}`][this.LayoutType]
       await this.init()
     },
     getTransSet(data){
@@ -671,7 +671,7 @@ export default {
         Title:data.title
       }).then(res=>{
         if(res.Ret===200){
-          this.$message.success('转换成功')
+          this.$message.success(this.$t('Slides.conversion_successfully'))
           this.transReportShow = false
           this.ReportId = res.Data.report_id
         }

+ 17 - 18
src/views/report_manage/cloudDisk.vue

@@ -254,7 +254,7 @@ import 'streamsaver/examples/zip-stream'
           }
         })
       },
-      // 刷新列表 - 节流
+      // 刷新列表 - 节流 
       refreshFileList:_.throttle(function(){
         this.getFileList(null,0)
         this.$refs.tableRef.clearSort()
@@ -374,7 +374,7 @@ import 'streamsaver/examples/zip-stream'
           formData.append('OriginName',nameList[index].AvailableName)
           cloudDiskInterface.uploadFile(formData).then(res=>{
             if(res.Ret == 200){
-              this.$message.success(`${res.Data.ResourceName}${res.Data.ResourceSuffix}上传成功`)
+              this.$message.success(`${res.Data.ResourceName}${res.Data.ResourceSuffix}` + this.$t('ReportManage.CloudPage.upload_success_msg') )
               this.refreshFileList()
             }
           }).finally(()=>{
@@ -391,7 +391,7 @@ import 'streamsaver/examples/zip-stream'
       // 重命名
       renameFile(row){
         this.currentRow=row
-        this.dialogTitle='重命名'
+        this.dialogTitle=this.$t('ReportManage.CloudPage.column_rename_btn')
         this.newDialogShow=true
         let realName;
         if(row.ItemType == 1){
@@ -466,7 +466,7 @@ import 'streamsaver/examples/zip-stream'
           cloudDiskInterface.getFilesByMenuId({MenuId:row.ItemId}).then(res=>{
             if(res.Ret == 200){
               this.downloadFloder(row.ItemName+'.zip',res.Data || []).then(res=>{
-                this.$message.success(row.ItemName+'下载成功')
+                this.$message.success(row.ItemName + this.$t('ReportManage.CloudPage.download_success_msg') )
               }).finally(()=>{
                 downloadHint.close()
               })
@@ -478,9 +478,9 @@ import 'streamsaver/examples/zip-stream'
           downloadFileByUrl(row.ResourceUrl).then(res=>{
             // console.log(res);
             downloadByFlow(res,null,row.ItemName)
-            this.$message.success(row.ItemName+'下载成功')
+            this.$message.success(row.ItemName + this.$t('ReportManage.CloudPage.download_success_msg'))
           }).catch((err)=>{
-            this.$message.error(row.ItemName+'下载失败')
+            this.$message.error(row.ItemName + '下载失败')
           }).finally(()=>{
             downloadHint.close()
           })
@@ -493,7 +493,7 @@ import 'streamsaver/examples/zip-stream'
         }
         let downloadHint = this.$message({
           type:"info",
-          message:'开始下载,请勿重复下载',
+          message:this.$t('ReportManage.CloudPage.download_info_msg'),
           duration:0,
           iconClass:'el-icon-loading'
         })
@@ -505,7 +505,7 @@ import 'streamsaver/examples/zip-stream'
             cloudDiskInterface.getFilesByMenuId({MenuId:item.ItemId}).then(res=>{
               if(res.Ret == 200){
                 this.downloadFloder(item.ItemName+'.zip',res.Data || []).then(res=>{
-                  this.$message.success(item.ItemName+'下载成功')
+                  this.$message.success(item.ItemName + this.$t('ReportManage.CloudPage.download_success_msg'))
                 }).finally(()=>{
                   downNumber++
                   // 请求下载的数量等于所选的数组长度时,去掉loading
@@ -530,7 +530,7 @@ import 'streamsaver/examples/zip-stream'
             downloadFileByUrl(item.ResourceUrl).then(res=>{
               // console.log(res);
               downloadByFlow(res,null,item.ItemName)
-              this.$message.success(item.ItemName+'下载成功')
+              this.$message.success(item.ItemName + this.$t('ReportManage.CloudPage.download_success_msg'))
             }).catch((err)=>{
               this.$message.error(item.ItemName+'下载失败')
             }).finally(()=>{
@@ -547,12 +547,12 @@ import 'streamsaver/examples/zip-stream'
       removeFile(row){
         let prop = row.ItemType==1?'removeFolder':'removeFile'
         let params=row.ItemType==1?{MenuId:row.ItemId}:{ResourceId:row.ItemId}
-        this.$confirm('删除后不可恢复,是否确认删除?','删除',{
+        this.$confirm(this.$t('MsgPrompt.delete_info_msg'),this.$t('ReportManage.CloudPage.column_delete_btn'),{
           type:'warning'
         }).then(res=>{
           cloudDiskInterface[prop](params).then(res=>{
             if(res.Ret == 200){
-              this.$message.success('删除成功')
+              this.$message.success(this.$t('ReportManage.CloudPage.delete_success_msg'))
               this.shouldRequestTree=true
               this.getFileList()
             }
@@ -564,7 +564,7 @@ import 'streamsaver/examples/zip-stream'
           this.$message.warning('请至少选择一个文件/文件夹')
           return
         }
-        this.$confirm('删除后不可恢复,是否确认删除?','删除',{
+        this.$confirm(this.$t('MsgPrompt.delete_info_msg'),this.$t('ReportManage.CloudPage.column_delete_btn'),{
           type:'warning'
         }).then(res=>{
           let MenuIdsArr=[]
@@ -584,7 +584,7 @@ import 'streamsaver/examples/zip-stream'
           }
           cloudDiskInterface.removeFolderBatch(params).then(res=>{
             if(res.Ret == 200){
-              this.$message.success('删除成功')
+              this.$message.success(this.$t('ReportManage.CloudPage.delete_success_msg'))
               this.shouldRequestTree=true
               this.getFileList()
             }
@@ -600,21 +600,21 @@ import 'streamsaver/examples/zip-stream'
       newOrRenameConFirm(){
         this.$refs.newOrRenameForm.validate((valid)=>{
           if(valid){
-            if(this.dialogTitle == '新建文件夹'){
+            if(this.dialogTitle == this.$t('ReportManage.CloudPage.folder_btn')){
               // 新建
               cloudDiskInterface.addFolder({
                 ParentId:this.currentMenuId,
                 MenuName:this.newOrRenameForm.itemValue
               }).then(res=>{
                 if(res.Ret == 200){
-                  this.$message.success('新建文件夹成功')
+                  this.$message.success(this.$t('ReportManage.CloudPage.folder_success_msg'))
                   this.shouldRequestTree=true
                   this.newDialogShow=false
                   this.$refs.tableRef.clearSort()
                   this.getFileList(null,0)
                 }
               })
-            }else if(this.dialogTitle == '重命名'){
+            }else if(this.dialogTitle == this.$t('ReportManage.CloudPage.column_rename_btn')){
               if(this.currentRow.ItemName == this.newOrRenameForm.itemValue){
                 this.newDialogShow=false
                 return
@@ -630,7 +630,7 @@ import 'streamsaver/examples/zip-stream'
               }
               cloudDiskInterface[prop](params).then(res=>{
                 if(res.Ret == 200){
-                  this.$message.success('重命名成功')
+                  this.$message.success(this.$t('ReportManage.CloudPage.rename_dialog_success_msg'))
                   this.shouldRequestTree=true
                   this.newDialogShow=false
                   this.getFileList()
@@ -688,7 +688,6 @@ import 'streamsaver/examples/zip-stream'
       }
     },
     created(){
-      this.$i18n.locale = 'zh'
       this.currentMenuId=sessionStorage.getItem('cloudDiskMenuId') || 0
       this.getFileList()
       this.getMenuTree()

+ 41 - 35
src/views/report_manage/reportAuthor.vue

@@ -2,12 +2,12 @@
   <div class="sandList-container">
     <div class="main-top" v-if="authTabsOpt.length">
       <el-button v-if="isAddBtnShow"
-        type="primary" @click="addAuthorHandle">添加作者</el-button>
+        type="primary" @click="addAuthorHandle">{{ChineseEcnglish.add_author_btn}}</el-button>
       <div>
         <el-input
           v-model="search_txt"
           style="width: 250px; margin-right: 20px"
-          placeholder="作者名称"
+          :placeholder="ChineseEcnglish.author_input_name"
         >
           <i slot="prefix" class="el-input__icon el-icon-search"></i>
         </el-input>
@@ -40,23 +40,23 @@
           align="center"
         >
           <template slot-scope="{row}">
-            <span v-if="item.key==='Enable'" :style="!row.Enable?'color: #f00':''">{{row.Enable?'启用':'禁用'}}</span>
+            <span v-if="item.key==='Enable'" :style="!row.Enable?'color: #f00':''">{{row.Enable?ChineseEcnglish.column_enabled_btn:ChineseEcnglish.column_disabled_btn}}</span>
             <span v-else>{{ row[item.key] }}</span>
           </template>
         </el-table-column>
-        <el-table-column width="260" align="center" label="操作">
+        <el-table-column width="260" align="center" :label="$t('Table.column_operations')">
           <template slot-scope="{row}">
             <span class="editsty" v-if="isEditBtnShow"
-                @click="itemHandle(row, 'edit')" style="margin-right: 10px">编辑</span>
+                @click="itemHandle(row, 'edit')" style="margin-right: 10px">{{$t('Table.edit_btn')}}</span>
             <span class="deletesty" v-if="isDeleteBtnShow"
-                @click="itemHandle(row, 'del')" style="margin-right: 10px">删除</span>
+                @click="itemHandle(row, 'del')" style="margin-right: 10px">{{$t('Table.delete_btn')}}</span>
             <span class="editsty" v-if="isEnableBtnShow"
-                @click="itemHandle(row, 'set')">{{row.Enable?'禁用':'启用'}}</span>
+                @click="itemHandle(row, 'set')">{{row.Enable?ChineseEcnglish.column_disabled_btn:ChineseEcnglish.column_enabled_btn}}</span>
           </template>
         </el-table-column>
 
         <div slot="empty" style="padding: 50px 0 50px">
-          <tableNoData text="暂无数据" size="mini"/>
+          <tableNoData :text="$t('Confirm.prompt_slogan')" size="mini"/>
         </div>
       </el-table>
       <el-row style="margin-top: 30px">
@@ -83,11 +83,11 @@
           label-position="left"
           hide-required-asterisk
           label-width="80px">
-          <el-form-item label="作者名称" prop="name" :rules="[{ required: true, message: '请输入作者名称', trigger: 'blur' }]">
+          <el-form-item :label="ChineseEcnglish.author_input_name" prop="name" :rules="[{ required: true, message: ChineseEcnglish.add_author_rules, trigger: 'blur' }]">
             <el-input 
               type="text" 
               v-model="authorForm.name" 
-              placeholder="请输入"
+              :placeholder="ChineseEcnglish.please_input"
               style="width:400px;"
             />
           </el-form-item>
@@ -103,8 +103,8 @@
         </el-form>
       </div>
       <div slot="footer" style="margin-top: 20px;">
-        <el-button @click="closeDialog">取消</el-button>
-        <el-button @click="saveAuthorHandle" type="primary">保存</el-button>
+        <el-button @click="closeDialog">{{$t('Dialog.cancel_btn')}}</el-button>
+        <el-button @click="saveAuthorHandle" type="primary">{{$t('Dialog.confirm_save_btn')}}</el-button>
       </div>
     </m-dialog>
   </div>
@@ -127,37 +127,18 @@ export default {
         { name: '英文研报',key: 2 },
       ],
       tableData: [],
-      tableColums: [
-        {
-          label: '作者名称',
-          key: 'ReportAuthor',
-          minwidthsty: '100px',
-        },
-        {
-          label: '添加时间',
-          key: 'CreateTime',
-          minwidthsty: '120px',
-        },
-        {
-          label: '状态',
-          key: 'Enable',
-          widthsty: '120px',
-        },
-      ],
+      tableColums:[],
       page_no: 1,
       pageSize: 10,
       total: 0,
 
       authorDialog: false,
-      authorForm: {
-        title: '添加作者',
-        name: '',
-        report_type: 1
-      },
+      authorForm:{},
       reportTypes: [
         { key: 1, label: '中文' },
         { key: 2, label: '英文' },
-        ]
+        ],
+      ChineseEcnglish:'',// 中英文互译
     };
   },
   watch: {
@@ -341,6 +322,31 @@ export default {
     
   },
   mounted() {
+     this.$nextTick(()=>{
+        this.ChineseEcnglish = this.$t('ReportManage.AuthorManagement')
+        this.tableColums= [
+          {
+            label: this.ChineseEcnglish.author_input_name,
+            key: 'ReportAuthor',
+            minwidthsty: '100px',
+          },
+          {
+            label: this.ChineseEcnglish.column_add_time,
+            key: 'CreateTime',
+            minwidthsty: '120px',
+          },
+          {
+            label: this.ChineseEcnglish.column_status,
+            key: 'Enable',
+            widthsty: '120px',
+          },
+        ]
+        this.authorForm =  {
+          title: this.ChineseEcnglish.add_author_btn,
+          name: '',
+          report_type: 1
+        }
+      })
     if(this.authTabsOpt.length){
         this.default_tab = this.authTabsOpt[0].key
         this.authorForm.report_type = this.authTabsOpt[0].key

+ 25 - 20
src/views/report_manage/reportVariety.vue

@@ -2,8 +2,8 @@
     <div class="report-variety-page">
         <div class="top-wrap">
             <el-button type="primary" v-permission="permissionBtn.enChartPermission.enChartPermission_save"
-                @click="showEditBreed=true;getParentVarietyList()">添加品种</el-button>
-            <el-input placeholder="品种名称" v-model="searchVal" style="max-width: 262px; float: right" @change="handleSearch" clearable>
+                @click="showEditBreed=true;getParentVarietyList()">{{ChineseEcnglish.add_product_btn}}</el-button>
+            <el-input :placeholder="ChineseEcnglish.add_product_input" v-model="searchVal" style="max-width: 262px; float: right" @change="handleSearch" clearable>
                 <i slot="prefix" class="el-input__icon el-icon-search"></i>
             </el-input>
         </div>
@@ -16,22 +16,22 @@
                 row-key="EnPermissionId" 
                 :tree-props="{children:'Child',hasChildren:'hasChildren'}"
             >
-                <el-table-column prop="EnPermissionName" label="一级品种">
+                <el-table-column prop="EnPermissionName" :label="ChineseEcnglish.column_top">
                     <template slot-scope="scope">
                         <span>{{scope.row.ParentId==0?scope.row.EnPermissionName:''}}</span>
                     </template>
                 </el-table-column>
-                <el-table-column prop="EnPermissionName" label="二级品种">
+                <el-table-column prop="EnPermissionName" :label="ChineseEcnglish.column_second">
                     <template slot-scope="scope">
                         <span>{{scope.row.ParentId!=0?scope.row.EnPermissionName:''}}</span>
                     </template>
                 </el-table-column>
-                <el-table-column label="操作" align="center">
+                <el-table-column :label="$t('Table.column_operations')" align="center">
                     <template slot-scope="scope">
                         <span class="editsty" v-permission="permissionBtn.enChartPermission.enChartPermission_save"
-                            style="margin-right:20px;display:inline-block" @click="handleEditBreedItem(scope.row)">编辑</span>
+                            style="margin-right:20px;display:inline-block" @click="handleEditBreedItem(scope.row)">{{$t('Table.edit_btn')}}</span>
                         <span v-permission="permissionBtn.enChartPermission.enChartPermission_del"
-                            class="deletesty" @click="handleDelBreedItem(scope.row)">删除</span>
+                            class="deletesty" @click="handleDelBreedItem(scope.row)">{{$t('Table.delete_btn')}}</span>
                     </template>
                 </el-table-column>
             </el-table>
@@ -40,7 +40,7 @@
         <!-- 品种编辑弹窗 -->
         <el-dialog 
             :modal-append-to-body='false' 
-            :title="!editBreedData.id?'添加品种':'编辑品种'" 
+            :title="!editBreedData.id?ChineseEcnglish.add_product_btn:'编辑品种'" 
             :visible.sync="showEditBreed" 
             :close-on-click-modal="false"
             :center="true" 
@@ -49,10 +49,10 @@
         >
             <div class="edit-variety-wrap" style="padding-bottom:30px">
                 <el-form>
-                    <el-form-item label="品种名称">
-                        <el-input placeholder="请输入品种名称" v-model="editBreedData.name" style="width:400px"></el-input>
+                    <el-form-item :label="ChineseEcnglish.product_type">
+                        <el-input :placeholder="ChineseEcnglish.add_product_input" v-model="editBreedData.name" style="width:400px"></el-input>
                     </el-form-item>
-                    <el-form-item label="上级品种">
+                    <el-form-item :label="ChineseEcnglish.add_product_select">
                         <el-select v-model="editBreedData.parentId" placeholder="请选择" style="width:400px">
                             <el-option
                                 v-for="item in parentVarietyOpts"
@@ -62,13 +62,13 @@
                             </el-option>
                         </el-select>
                     </el-form-item>
-                    <el-form-item label="后台排序">
-                        <el-input placeholder="后台排序" min="0" v-model="editBreedData.sort" type="number" style="width:400px"></el-input>
+                    <el-form-item :label="ChineseEcnglish.add_backend_sorting">
+                        <el-input :placeholder="ChineseEcnglish.add_backend_sorting" min="0" v-model="editBreedData.sort" type="number" style="width:400px"></el-input>
                     </el-form-item>
                 </el-form>
                 <div style="text-align: center;margin-top:40px">
-                    <el-button type="primary" plain @click="showEditBreed=false">取消</el-button>
-                    <el-button type="primary" @click="handleConfirmEidtBreed">确定</el-button>
+                    <el-button type="primary" plain @click="showEditBreed=false">{{$t('Dialog.cancel_btn')}}</el-button>
+                    <el-button type="primary" @click="handleConfirmEidtBreed">{{$t('Dialog.confirm_btn')}}</el-button>
                 </div>
             </div>
         </el-dialog>
@@ -104,9 +104,14 @@ export default {
                 sort:0,
                 parentId:0,
             },
+            ChineseEcnglish:'',// 中英文互译
+            
         }
     },
     created(){
+        this.$nextTick(()=>{
+            this.ChineseEcnglish = this.$t('ReportManage.CommodityConfiguration')
+        })
         this.getList()
         this.getParentVarietyList()
     },
@@ -150,7 +155,7 @@ export default {
 
         async handleConfirmEidtBreed(){
             if(!this.editBreedData.name){
-                this.$message.warning('请填写品种名称')
+                this.$message.warning(this.ChineseEcnglish.add_product_error_msg)
                 return
             }
             let params={
@@ -183,16 +188,16 @@ export default {
 
         // 删除品种
         handleDelBreedItem(item){
-            this.$confirm('确认删除吗?', '提示', {
-                confirmButtonText: '确定',
-                cancelButtonText: '取消',
+            this.$confirm(this.$t('MsgPrompt.delete_info_msg') , this.$t('Confirm.prompt') ,{
+                confirmButtonText: this.$t('Dialog.confirm_btn'),
+                cancelButtonText: this.$t('Dialog.cancel_btn'),
                 type: 'warning'
             }).then(()=>{
                 reportVarietyENInterence.delVariety({
                     EnPermissionId:item.EnPermissionId
                 }).then(res=>{
                     if(res.Ret===200){
-                        this.$message.success('删除成功')
+                        this.$message.success(this.ChineseEcnglish.delete_success_msg)
                         this.getList()
                         this.getParentVarietyList()
                     }

+ 15 - 11
src/views/semantics_manage/document/documentEditPage.vue

@@ -6,15 +6,15 @@
         ref="formRef"
         label-position="left"
         hide-required-asterisk
-        label-width="80px"
+       
         :model="fileForm"
         :rules="fileFormRules"
       >
-        <el-form-item label="文档名称" prop="Title">
+        <el-form-item  label-width="118px" :label="ChineseEcnglish.document_name" prop="Title">
           <el-input
             v-model="fileForm.Title"
             style="width: 240px"
-            placeholder="请输入文档名称"
+            :placeholder="ChineseEcnglish.select_documents_input"
           />
         </el-form-item>
 <!--         <el-form-item label="文档主题" prop="Theme">
@@ -24,8 +24,8 @@
             placeholder="请输入文档主题"
           />
         </el-form-item> -->
-        <el-form-item label="所属分类" prop="ClassifyId">
-          <el-select placeholder="请选择所属分类" v-model="fileForm.ClassifyId">
+        <el-form-item  label-width="80px" :label="ChineseEcnglish.select_category" prop="ClassifyId">
+          <el-select :placeholder="ChineseEcnglish.please_select_category" v-model="fileForm.ClassifyId">
             <el-option 
               v-for="item in classifyOptions" :key="item.SaDocClassifyId"
               :label="item.ClassifyName"
@@ -34,14 +34,14 @@
           </el-select>
         </el-form-item>
       </el-form>
-      <el-button type="primary" style="margin-left:auto;" @click="saveFile">保存</el-button>
-      <el-button @click="cancelModify">取消</el-button>
+      <el-button type="primary" style="margin-left:auto;" @click="saveFile">{{$t('Dialog.confirm_save_btn')}}</el-button>
+      <el-button @click="cancelModify">{{$t('Dialog.cancel_btn')}}</el-button>
     </div>
     <div class="document-content page-block-wrap" v-if="$route.path.includes('add')">
       <froala :id="`froala-editor-documentContent`" 
         :ref="`froalaEditorDocumentContent`" 
         :tag="'textarea'" 
-        :config="froalaConfig" 
+        :config="{...froalaConfig,placeholderText:'请输入文章内容'}" 
         v-model="documentContent"></froala>
     </div>
     <div class="document-content page-block-wrap overflow-hide-scrollbar" v-else>
@@ -56,7 +56,7 @@
                 alt=""
                 style="width: 14px; height: 14px; margin-right: 10px"
               />
-              <span>添加下一段</span>
+              <span>{{ChineseEcnglish.add_next_section}}</span>
             </div>
             <div class="dele-btn" style="margin-left:30px;margin-right:auto;"
               v-if="item.UseNum+item.UsePartNum===0" @click="deleteBlock(index)">
@@ -65,9 +65,9 @@
                 alt=""
                 style="width: 14px; height: 14px; margin-right: 10px"
               />
-              <span>删除</span>
+              <span>{{$t('Table.delete_btn')}}</span>
             </div>
-            <p class="hint-text">已打标签数:{{item.UseNum+item.UsePartNum}}</p>
+            <p class="hint-text">{{ChineseEcnglish.number_tags_attached}}:{{item.UseNum+item.UsePartNum}}</p>
           </div>
         </div>
       </div>
@@ -100,6 +100,7 @@ export default {
         ]
       },
       fileId:0,//为0时是新增 不为0时是文档id
+      ChineseEcnglish:'',// 中英文互译
     };
   },
   methods: {
@@ -222,6 +223,9 @@ export default {
     },
   },
   mounted(){
+    this.$nextTick(()=>{
+       this.ChineseEcnglish = this.$t('SemanticsManage.DocumentComparison')
+    })
     this.$refs.formRef.resetFields();
     this.getFileData()
     this.getClassifyList()

+ 21 - 16
src/views/semantics_manage/documentPage.vue

@@ -5,12 +5,12 @@
     <div class="catalog-wrap page-block-wrap catalog-block" id="left">
       <div class="btn-box">
         <el-button v-permission="permissionBtn.semanticPermission.docPage_save"
-            type="primary" @click="toPage('addFile')">添加文档</el-button>
+            type="primary" @click="toPage('addFile')">{{ChineseEcnglish.add_document_btn}}</el-button>
       </div>
       <div class="select-wrap">
         <el-select
           filterable remote
-          placeholder="请输入文件名称"
+          :placeholder="ChineseEcnglish.input_enter_fiel_content"
           v-model="searchTitle"
           :remote-method="searchHandle"
           value-key="SaDocId"
@@ -79,7 +79,7 @@
             alt=""
             style="width: 16px; height: 16px; margin-right: 6px"
           />
-          <span>添加分类</span>
+          <span>{{ChineseEcnglish.add_category}}</span>
         </div>
         <span class="total-text" v-if="selectNode&&model==='list'">共{{catalogList.length}}个文档</span>
       </div>
@@ -128,19 +128,19 @@
           </div>
         </draggable> -->
           <div class="empty" v-if="catalogList.length===0">
-            <tableNoData text="暂无数据"/>
+            <tableNoData :text="ChineseEcnglish.prompt_slogan"/>
           </div>
       </div>
       <!-- 文件详情 -->
       <div class="detail-file" v-else>
         <div class="file-info">
           <ul>
-            <li class="name">文档名称:{{docInfo.Title}}</li>
+            <li class="name">{{ChineseEcnglish.document_name}}:{{docInfo.Title}}</li>
             <!-- <li>文档主题:{{docInfo.Theme}}</li> -->
-            <li>文档分类:{{docInfo.ClassifyName}}</li>
+            <li>{{ChineseEcnglish.document_category}}:{{docInfo.ClassifyName}}</li>
           </ul>
           <el-button v-permission="permissionBtn.semanticPermission.docPage_save"
-            type="primary" @click="handleEdit('file',selectNode)">编辑</el-button>
+            type="primary" @click="handleEdit('file',selectNode)">{{$t('Table.edit_btn')}}</el-button>
         </div>
         <div class="file-content overflow-hide-scrollbar">
           <p v-for="block in docInfo.SectionList" :key="block.SaDocSectionId">{{block.innerText}}</p>
@@ -149,7 +149,7 @@
     </div>
     <!-- 添加/编辑分类弹窗 -->
     <el-dialog
-      :title="classifyForm.classify_id?'编辑分类':'添加分类'"
+      :title="classifyForm.classify_id? ChineseEcnglish.edit_category : ChineseEcnglish.add_category "
       :visible.sync="isModifyClassifyShow"
       :close-on-click-modal="false"
       :modal-append-to-body="false"
@@ -163,15 +163,14 @@
           ref="formRef"
           label-position="left"
           hide-required-asterisk
-          label-width="80px"
           :model="classifyForm"
           :rules="classifyFormRules"
         >
-          <el-form-item label="分类名称" prop="classify_name">
+          <el-form-item label-width="118px" :label="ChineseEcnglish.add_category_name" prop="classify_name">
             <el-input
               v-model="classifyForm.classify_name"
               style="width: 80%"
-              placeholder="请输入分类名称"
+              :placeholder="ChineseEcnglish.add_category_input_name"
             />
           </el-form-item>
           <!-- 文档分类的封面图取消 -->
@@ -209,8 +208,8 @@
         </el-form>
       </div>
       <div class="foot-container">
-        <el-button @click="clearForm">取 消</el-button>
-        <el-button type="primary" @click="modifyClassify">确定</el-button>
+        <el-button @click="clearForm">{{ $t('Dialog.cancel_btn')}}</el-button>
+        <el-button type="primary" @click="modifyClassify">{{ $t('Dialog.confirm_btn')}}</el-button>
       </div>
     </el-dialog>
   </div>
@@ -239,6 +238,7 @@ export default {
       isModifyClassifyShow:false,//控制分类显示弹窗
       uploadKey:0,//刷新上传图片
       docInfo:{},//文档详情
+      ChineseEcnglish:'',// 中英文互译
     };
   },
   watch:{
@@ -302,7 +302,7 @@ export default {
         })
       }
       if(res.Ret!==200) return
-      this.$message.success(`${classify_id?'编辑':'新增'}成功`)
+      this.$message.success(`${classify_id ? this.$t('MsgPrompt.edit_msg') : this.$t('MsgPrompt.add_msg') }`)
       await this.getListData()
       if(classify_id){//编辑后,重新选中该分类
         const catalog = this.listData.find(item=>{return item.nodeKeyId===classify_id})
@@ -316,7 +316,7 @@ export default {
         SaDocClassifyId:Number(data.SaDocClassifyId)
       }).then(res=>{
         if(res.Ret!==200) return 
-        this.$message.success('删除成功')
+        this.$message.success(this.$t('MsgPrompt.delete_msg'))
         this.clearForm()
       })
     },
@@ -326,7 +326,7 @@ export default {
         SaDocId:Number(data.SaDocId)
       }).then(async res=>{
         if(res.Ret!==200) return
-        this.$message.success('删除成功')
+        this.$message.success(this.$t('MsgPrompt.delete_msg'))
         this.chooseDataClassify(data)
       })
     },
@@ -399,6 +399,11 @@ export default {
             :this.permissionBtn.isShowBtn('semanticPermission',`docPage_${btnType==='edit'?'save':btnType}`)
     }
   },
+  created(){
+    this.$nextTick(()=>{
+       this.ChineseEcnglish = this.$t('SemanticsManage.DocumentManagement')
+    })
+  }
 };
 </script>
 

+ 21 - 16
src/views/semantics_manage/semanticsPage.vue

@@ -5,13 +5,13 @@
     <div class="catalog-wrap page-block-wrap catalog-block" id="left">
       <div class="btn-box">
         <el-button v-permission="permissionBtn.semanticPermission.saPage_save"
-            type="primary" @click="toPage('addFile')">添加文档对比</el-button>
+            type="primary" @click="toPage('addFile')">{{ChineseEcnglish.document_comparison_btn}}</el-button>
         <!-- <el-button type="primary" plain @click="toPage('tag')">标签管理</el-button> -->
       </div>
       <div class="select-wrap">
         <el-select
           filterable remote
-          placeholder="请输入文件名称"
+          :placeholder="ChineseEcnglish.input_content"
           v-model="searchTitle"
           :remote-method="searchHandle"
           clearable
@@ -75,7 +75,7 @@
             alt=""
             style="width: 16px; height: 16px; margin-right: 6px"
           />
-          <span>添加分类</span>
+          <span>{{ChineseEcnglish.add_category}}</span>
         </div>
         <span class="total-text" v-if="selectNode&&model==='list'">共{{catalogList.length}}个文档</span>
       </div>
@@ -115,7 +115,7 @@
             </div>
           </draggable> -->
           <div class="empty" v-if="catalogList.length===0">
-            <tableNoData text="暂无数据"/>
+            <tableNoData :text="$t('Table.prompt_slogan')"/>
           </div>
       </div>
       <!-- 文件详情 -->
@@ -123,8 +123,8 @@
         <div class="file-info">
           <ul>
             <li>{{semanticInfo.Title}}</li>
-            <li style="margin-left:auto;">作者:{{semanticInfo.SysAdminName}}</li>
-            <li>创建时间:{{semanticInfo.CreateTime}}</li>
+            <li style="margin-left:auto;">{{ChineseEcnglish.author_detail}}:{{semanticInfo.SysAdminName}}</li>
+            <li>{{ChineseEcnglish.creation_time_detail}}:{{semanticInfo.CreateTime}}</li>
           </ul>
           <div class="pic-wrap">
             <img class="pic" id="copy-img" :src="semanticInfo.ResultImg" v-if="semanticInfo.ResultImg">
@@ -135,7 +135,7 @@
                 height: 120px;
                 margin: 5% auto 10px;
               "/>
-              暂无图片信息
+              {{ChineseEcnglish.no_image_information_available}}
             </div>
           </div>
         </div>
@@ -199,7 +199,7 @@
     </div>
     <!-- 添加/编辑分类弹窗 -->
      <el-dialog
-      :title="classifyForm.classify_id?'编辑分类':'添加分类'"
+      :title="classifyForm.classify_id? ChineseEcnglish.edit_category : ChineseEcnglish.add_category "
       :visible.sync="isModifyClassifyShow"
       :close-on-click-modal="false"
       :modal-append-to-body="false"
@@ -213,22 +213,21 @@
           ref="formRef"
           label-position="left"
           hide-required-asterisk
-          label-width="80px"
           :model="classifyForm"
           :rules="classifyFormRules"
         >
-          <el-form-item label="分类名称" prop="classify_name">
+          <el-form-item  label-width="130px" :label="ChineseEcnglish.add_category_name" prop="classify_name">
             <el-input
               v-model="classifyForm.classify_name"
               style="width: 80%"
-              placeholder="请输入分类名称"
+              :placeholder="ChineseEcnglish.add_category_input_name"
             />
           </el-form-item>
         </el-form>
       </div>
       <div class="foot-container">
-        <el-button @click="isModifyClassifyShow=false">取 消</el-button>
-        <el-button type="primary" @click="modifyClassify">确定</el-button>
+        <el-button @click="isModifyClassifyShow=false">{{$t('Dialog.cancel_btn')}}</el-button>
+        <el-button type="primary" @click="modifyClassify">{{$t('Dialog.confirm_btn')}}</el-button>
       </div>
     </el-dialog>
   </div>
@@ -253,6 +252,7 @@ export default {
       },//分类校验规则
       isModifyClassifyShow:false,//控制分类显示弹窗
       semanticInfo:{},//语义分析详情
+      ChineseEcnglish:'',// 中英文互译
     };
   },
   watch:{
@@ -362,7 +362,7 @@ export default {
         })
       }
       if(res.Ret!==200) return
-      this.$message.success(`${classify_id?'编辑':'新增'}成功`)
+      this.$message.success(`${classify_id?this.$t('MsgPrompt.edit_msg'):this.$t('MsgPrompt.add_msg')}`)
       await this.getListData()
       if(classify_id){
         const catalog = this.listData.find(item=>{return item.nodeKeyId===classify_id})
@@ -376,7 +376,7 @@ export default {
         SaCompareClassifyId:Number(data.SaCompareClassifyId)
       }).then(res=>{
         if(res.Ret!==200) return 
-        this.$message.success('删除成功')
+        this.$message.success(this.$t('MsgPrompt.delete_msg'))
         this.clearForm()
       })
     },
@@ -386,7 +386,7 @@ export default {
         SaCompareId:Number(data.SaCompareId)
       }).then(async res=>{
         if(res.Ret!==200) return
-        this.$message.success('删除成功')
+        this.$message.success(this.$t('MsgPrompt.delete_msg'))
         this.chooseDataClassify(data)
       })
     },
@@ -432,6 +432,11 @@ export default {
             :this.permissionBtn.isShowBtn('semanticPermission',`saPage_${btnType==='edit'?'save':btnType}`)
     }
   },
+  created(){
+    this.$nextTick(()=>{
+       this.ChineseEcnglish = this.$t('SemanticsManage.DocumentComparison')
+    })
+  }
 };
 </script>
 

+ 38 - 18
src/views/semantics_manage/tagPage.vue

@@ -3,8 +3,8 @@
   <div class="document-tag-page-wrap page-block-wrap">
     <div class="tool-box">
       <el-button v-permission="permissionBtn.semanticPermission.tagPage_save"
-        type="primary" @click="handleOperate('add',{})">添加标签</el-button>
-      <el-input v-model="searchText" clearable prefix-icon="el-icon-search" placeholder="请输入标签名称" @input="searchHandle"></el-input>
+        type="primary" @click="handleOperate('add',{})">{{ChineseEcnglish.add_tag_btn}}</el-button>
+      <el-input v-model="searchText" clearable prefix-icon="el-icon-search" :placeholder="ChineseEcnglish.input_content" @input="searchHandle"></el-input>
     </div>
     <div class="table-box">
       <el-table :data="tableData" border v-loading="tableLoading">
@@ -22,12 +22,12 @@
             <span v-else>{{row[column.key]}}</span>
           </template>
         </el-table-column>
-        <el-table-column  label="操作" align="center">
+        <el-table-column  :label="$t('Table.column_operations')" align="center">
           <template slot-scope="{row}">
             <el-button v-permission="permissionBtn.semanticPermission.tagPage_save"
-                type="text"  @click="handleOperate('edit',row)">编辑</el-button>
+                type="text"  @click="handleOperate('edit',row)">{{$t('Table.edit_btn')}}</el-button>
             <el-button v-permission="permissionBtn.semanticPermission.tagPage_del"
-                type="text"  style="color:red;" @click="handleOperate('delete',row)">删除</el-button>
+                type="text"  style="color:red;" @click="handleOperate('delete',row)">{{$t('Table.delete_btn')}}</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -43,7 +43,7 @@
     </div>
     <!-- 添加标签弹窗 -->
     <el-dialog
-      :title="operate==='edit'?'编辑标签':'添加标签'"
+      :title="operate==='edit'? ChineseEcnglish.edit_tag_btn : ChineseEcnglish.add_tag_btn"
       :visible.sync="isAddTagShow"
       :close-on-click-modal="false"
       :modal-append-to-body="false"
@@ -54,18 +54,18 @@
     >
       <div class="dialog-container">
         <div class="input-item">
-          标签名称:<el-input  placeholder="请输入标签名称" v-model.trim="currentData.LabelName" required ></el-input>
+          {{ChineseEcnglish.tag_name}}:<el-input  :placeholder="ChineseEcnglish.input_content" v-model.trim="currentData.LabelName" required ></el-input>
         </div>
-        <p class="form-hint">注:名称不得超过15字</p>
+        <p class="form-hint">{{ChineseEcnglish.note_content}}</p>
       </div>
       <div class="foot-container">
-        <el-button @click="isAddTagShow=false">取 消</el-button>
-        <el-button type="primary" @click="modifyTag">确定</el-button>
+        <el-button @click="isAddTagShow=false">{{ $t('Dialog.cancel_btn')}}</el-button>
+        <el-button type="primary" @click="modifyTag">{{ $t('Dialog.confirm_btn')}}</el-button>
       </div>
     </el-dialog>
     <!-- 查看内容弹窗 -->
     <el-dialog
-      title="标签内容"
+      :title="ChineseEcnglish.tag_content"
       :visible.sync="isContentDetailShow"
       :close-on-click-modal="false"
       :modal-append-to-body="false"
@@ -99,7 +99,20 @@ export default {
       /* table */
       tableData:[],
       tableLoading:false,
-      columnList:tagPageColumnList,
+      columnList:[
+          {
+            label:this.$t('SemanticsManage.TagManagement.tag_name'),
+            key:'LabelName'
+          },
+          {
+            label:this.$t('SemanticsManage.TagManagement.column_content_number'),
+            key:'UserNum'
+          },
+          {
+            label:this.$t('SemanticsManage.TagManagement.column_creation_time'),
+            key:'CreateTime'
+          }
+        ],
       currentData:{},
       operate:'add',
       searchText:'',
@@ -113,13 +126,14 @@ export default {
       /*dialog */
       isAddTagShow:false,
       isContentDetailShow:false,
+      ChineseEcnglish:'',// 中英文互译
     };
   },
   methods: {
     async modifyTag(){
       const {SaLabelId,LabelName} = this.currentData
       if(!this.currentData.LabelName){
-        this.$message.warning("请输入标签名称")
+        this.$message.warning(this.ChineseEcnglish.input_content)
         return
       }
       if(this.currentData.LabelName.length>15){
@@ -138,7 +152,7 @@ export default {
         })
       }
       if(res.Ret!==200) return
-      this.$message.success(`${this.operate==='edit'?'编辑':'新增'}成功`)
+      this.$message.success(`${this.operate==='edit' ? this.$t('MsgPrompt.edit_msg') : this.$t('MsgPrompt.add_msg') }成功`)
       this.isAddTagShow=false
       this.currentPage=1
       this.getTableData()
@@ -162,10 +176,10 @@ export default {
       if(operate==='delete'){
         this.$confirm(
           '删除后不可恢复,是否确认删除该标签?',
-          '提示',
+          this.$t('Confirm.prompt'),
         {
-          confirmButtonText: '确定',
-          cancelButtonText: '取消',
+          confirmButtonText: this.$t('Dialog.confirm_btn'),
+          cancelButtonText: this.$t('Dialog.cancel_btn'),
           type: 'warning',
         }
       ).then(()=>{
@@ -173,7 +187,7 @@ export default {
           SaLabelId:data.SaLabelId
         }).then(res=>{
           if(res.Ret!==200) return 
-          this.$message.success('删除成功')
+          this.$message.success(this.$t('MsgPrompt.delete_msg'))
           this.currentPage=1
           this.getTableData()
         })
@@ -206,6 +220,12 @@ export default {
   mounted(){
     this.getTableData()
   },
+  created(){
+    this.$nextTick(()=>{
+       this.ChineseEcnglish = this.$t('SemanticsManage.TagManagement')
+       
+    })
+  }
 };
 </script>