Переглянути джерело

Merge branch 'lang_dev' of http://8.136.199.33:3000/eta_front/eta_front into lang_dev

Karsa 1 рік тому
батько
коміт
9809d95b95
27 змінених файлів з 658 додано та 560 видалено
  1. 125 55
      src/lang/modules/ReportManagement/ReportList.js
  2. 58 36
      src/lang/modules/ReportManagement/SmartReport.js
  3. 1 1
      src/views/ppt_manage/newVersion/components/IndexItem.vue
  4. 1 1
      src/views/ppt_manage/newVersion/pptEditor.vue
  5. 1 1
      src/views/ppt_manage/newVersion/pptEnEditor.vue
  6. 17 21
      src/views/ppt_manage/newVersion/pptEnPresent.vue
  7. 20 20
      src/views/ppt_manage/newVersion/pptEnPublish.vue
  8. 20 18
      src/views/ppt_manage/newVersion/pptPresent.vue
  9. 20 20
      src/views/ppt_manage/newVersion/pptPublish.vue
  10. 73 75
      src/views/report_manage/addreportNew.vue
  11. 25 25
      src/views/report_manage/dayOrWeek.vue
  12. 74 77
      src/views/report_manage/editreportNew.vue
  13. 13 9
      src/views/report_manage/mixins/reportMixin.js
  14. 68 68
      src/views/report_manage/reportEn/reportEditor.vue
  15. 2 2
      src/views/smartReport/components/ETAChart.vue
  16. 3 3
      src/views/smartReport/components/ETAPriceChart.vue
  17. 3 3
      src/views/smartReport/components/ETASandBox.vue
  18. 3 3
      src/views/smartReport/components/ETASheet.vue
  19. 4 4
      src/views/smartReport/components/ImgEdit.vue
  20. 9 9
      src/views/smartReport/components/ImgSource.vue
  21. 2 2
      src/views/smartReport/components/ImportETAChart.vue
  22. 7 7
      src/views/smartReport/components/ImportMyETAChart.vue
  23. 3 3
      src/views/smartReport/components/SemanticAnalysis.vue
  24. 26 21
      src/views/smartReport/components/StatisticAnalysis.vue
  25. 1 1
      src/views/smartReport/components/TextEdit.vue
  26. 76 72
      src/views/smartReport/editReport.vue
  27. 3 3
      src/views/smartReport/reportList.vue

+ 125 - 55
src/lang/modules/ReportManagement/ReportList.js

@@ -40,29 +40,62 @@ export const ReportListEn = {
   scheduled_publish_btn: "Scheduled Publish",
   publish_btn: "Publish",
   submission_btn: "Submission",
-  new_method_btn: "新增方式 New method",
-  title_ipt: "标题 Title",
-  abstract_ipt: "摘要 Abstract",
-  author_select: "作者 Author",
-  frequency_select: "频度 Frequency",
-  creation_time_select: "创建时间 Creation time",
-  insert_chart_tabs: "图表插入 Insert chart",
-  chart_inventory_radio: "ETA图库 ETA Chart Inventory",
-  price_curve_radio: "商品价格曲线 Commodity price curve",
-  related_charts_radio: "相关性图表 Related Charts",
-  curve_fitting_radio: "拟合方程曲线 Curve fitting",
-  statistical_feature_radio: "统计特征 Statistical Feature",
-  intercommodity_analysis_radio: "跨品种分析 Intercommodity Analysis",
-  just_mine_radio: "只看我的 Just Mine",
-  insert_sandbox_tabs: "沙盘插入 Insert Sandbox",
-  no_reports_msg: "沙盘名称/品种 Sandbox Name/Commodity",
-  insert_table_tabs: "表格插入 Insert Table",
-  table_name_tabs: "表格名称 Table Name",
-  bulk_insertion_tabs: "MyETA批量插入 Bulk Insertion of MyETA",
-  semantic_analysis_tabs: "语义分析插入 Semantic Analysis Insertion",
-  publish_time: "发送时间 Publish Time",
-  select_date_and_time: "选择日期时间 Select Date and Time",
-  the_report_will_be_posted_on_time: "设置成功之后,研报将定时进行发送 After the schedule confirmed, the report will be posted on time",
+  new_method_btn: "New method",
+  title_ipt: "Title",
+  abstract_ipt: "Abstract",
+  author_select: "Author",
+  frequency_select: "Frequency",
+  creation_time_select: "Creation time",
+  insert_chart_tabs: "Insert chart",
+  chart_inventory_radio: "ETA Chart Inventory",
+  price_curve_radio: "Commodity price curve",
+  related_charts_radio: "Related Charts",
+  curve_fitting_radio: "Curve fitting",
+  statistical_feature_radio: "Statistical Feature",
+  intercommodity_analysis_radio: "Intercommodity Analysis",
+  just_mine_radio: "Just Mine",
+  insert_sandbox_tabs: "Insert Sandbox",
+  no_reports_msg: "Sandbox Name/Commodity",
+  insert_table_tabs: "Insert Table",
+  table_name_tabs: "Table Name",
+  bulk_insertion_tabs: "Bulk Insertion of MyETA",
+  semantic_analysis_tabs: "Semantic Analysis Insertion",
+  publish_time: "Publish Time",
+  select_date_and_time: "Select Date and Time",
+  the_report_will_be_posted_on_time: "After the schedule confirmed, the report will be posted on time",
+  no_chart_table_available: "No Chart or Table available",
+  classificiation_selest: "Classificiation",
+  edit_en_report: "Editing English research reports",
+  add_ch_report: "Add English research report",
+  chart_name: "Chart Name",
+  select_date: "Select date",
+  charts_update_btn: "Charts update",
+  library_top_type: "Layout Resource Library",
+  eta_top_type: "ETA table",
+  statistical_top_type: "Statistical Analysis",
+  sandbox_top_type: "Sandbox",
+  semantic_top_type: "Semantic Analysis",
+  chart_top_type: "Chart Inventory",
+  insert_charts_msg: "Please insert charts",
+  header_setting_msg: "Page header setting successful",
+  trailer_setting_msg: "Page trailer setting successful",
+  chart_refreshed_msg: "The chart is currently being refreshed, please do not repeat the operation",
+  img_uplaod_title: "Image Upload",
+  click_img_upload: "Click to Upload Image",
+  select_img_card: "Select Image",
+  img_name_ipt: "Please input image name",
+  select_img_type: "Please select an image type",
+  page_header_op: "Page Header",
+  page_trailer_op: "Page Trailer",
+  select_layout_msg: "Please select a layout",
+  keyword_search: "Keyword Search",
+  correlation_analysis: "Correlation Analysis",
+  text_editing: "Text Editing",
+  chart_category_name: "Chart Category Name",
+  click_import: "One click import",
+  no_one_charts: "There are no charts for this category",
+  no_chart_msg: "Single chart insertion is not supported here",
+  import_all_chart_msg: "This operation will batch import all charts under theselected chart category",
 };
 
 /* 中文 */
@@ -77,7 +110,7 @@ export const ReportListZh = {
   designated_personnel: "指定人员",
   designated_sender_information: "指定发送人员信息:",
   please_select_personnel: "请选择人员",
-  click_through_details: "点击量详情 Click through details",
+  click_through_details: "点击量详情",
   click_through_details: "客户名称",
   email_address: "邮箱地址",
   Last_click_time: "最近点击时间",
@@ -95,35 +128,72 @@ export const ReportListZh = {
   please_report_category_select: "请选择报告分类",
   please_report_title_input: "请填写报告标题",
   no_reports_msg: "此分类暂无报告",
-  chart_insertion_progress: "图表批量插入中... Batch chart insertion in progress",
-  last_save_time: "最近保存时间 Last save time",
-  click_refresh_btn: "一键刷新 Refresh",
-  preview_btn: "预览 Preview",
-  save_draft_btn: "存草稿  Save Draft",
-  scheduled_publish_btn: "定时发布 Scheduled Publish",
-  publish_btn: "发布 Publish",
-  submission_btn: "提交 Submission",
-  new_method_btn: "新增方式 New method",
-  title_ipt: "标题 Title",
-  abstract_ipt: "摘要 Abstract",
-  author_select: "作者 Author",
-  frequency_select: "频度 Frequency",
-  creation_time_select: "创建时间 Creation time",
-  insert_chart_tabs: "图表插入 Insert chart",
-  chart_inventory_radio: "ETA图库 ETA Chart Inventory",
-  price_curve_radio: "商品价格曲线 Commodity price curve",
-  related_charts_radio: "相关性图表 Related Charts",
-  curve_fitting_radio: "拟合方程曲线 Curve fitting",
-  statistical_feature_radio: "统计特征 Statistical Feature",
-  intercommodity_analysis_radio: "跨品种分析 Intercommodity Analysis",
-  just_mine_radio: "只看我的 Just Mine",
-  insert_sandbox_tabs: "沙盘插入 Insert Sandbox",
-  no_reports_msg: "沙盘名称/品种 Sandbox Name/Commodity",
-  insert_table_tabs: "表格插入 Insert Table",
-  table_name_tabs: "表格名称 Table Name",
-  bulk_insertion_tabs: "MyETA批量插入 Bulk Insertion of MyETA",
-  semantic_analysis_tabs: "语义分析插入 Semantic Analysis Insertion",
-  publish_time: "发送时间 Publish Time",
-  select_date_and_time: "选择日期时间 Select Date and Time",
-  the_report_will_be_posted_on_time: "设置成功之后,研报将定时进行发送 After the schedule confirmed, the report will be posted on time",
+  chart_insertion_progress: "图表批量插入中...",
+  last_save_time: "最近保存时间",
+  click_refresh_btn: "一键刷新",
+  preview_btn: "预览",
+  save_draft_btn: "存草稿",
+  scheduled_publish_btn: "定时发布",
+  publish_btn: "发布",
+  submission_btn: "提交",
+  new_method_btn: "新增方式",
+  title_ipt: "标题",
+  abstract_ipt: "摘要",
+  author_select: "作者",
+  frequency_select: "频度",
+  creation_time_select: "创建时间",
+  insert_chart_tabs: "图表插入",
+  chart_inventory_radio: "ETA图库",
+  price_curve_radio: "商品价格曲线",
+  related_charts_radio: "相关性图表",
+  curve_fitting_radio: "拟合方程曲线",
+  statistical_feature_radio: "统计特征",
+  intercommodity_analysis_radio: "跨品种分析",
+  just_mine_radio: "只看我的",
+  insert_sandbox_tabs: "沙盘插入",
+  no_reports_msg: "沙盘名称/品种",
+  insert_table_tabs: "表格插入",
+  table_name_tabs: "表格名称",
+  bulk_insertion_tabs: "MyETA批量插入",
+  semantic_analysis_tabs: "语义分析插入",
+  publish_time: "发送时间",
+  select_date_and_time: "选择日期时间",
+  the_report_will_be_posted_on_time: "设置成功之后,研报将定时进行发送",
+  no_chart_table_available: "暂无图表",
+  classificiation_selest: "分类",
+  edit_en_report: "编辑英文研报",
+  add_ch_report: "添加英文研报",
+  chart_name: "图表名称",
+  select_date: "选择日期",
+  charts_update_btn: "图表刷新",
+  library_top_type: "版图资源库",
+  eta_top_type: "ETA表格",
+  statistical_top_type: "统计分析",
+  sandbox_top_type: "沙盘图",
+  semantic_top_type: "语义分析",
+  chart_top_type: "图库",
+  insert_charts_msg: "请插入图表",
+  header_setting_msg: "版头设置成功",
+  trailer_setting_msg: "版尾设置成功",
+  chart_refreshed_msg: "图表正在刷新中,请勿重复操作",
+  img_uplaod_title: "图片上传",
+  click_img_upload: "点击上传图片",
+  select_img_card: "选择图片",
+  img_name_ipt: "请输入图片名称",
+  select_img_type: "请选择图片类型",
+  page_header_op: "版头",
+  page_trailer_op: "版尾",
+  select_layout_msg: "请选择版图",
+  keyword_search: "关键词搜索",
+  correlation_analysis: "相关性",
+  text_editing: "文本编辑",
+  chart_category_name: "图分类名称",
+  click_import: "一键导入",
+  no_one_charts: "此处不支持单个插入图表",
+  no_chart_msg: "该分类无图表",
+  import_all_chart_msg: "该操作将批量导入所选图分类下所有图表",
+  chapter_list_label: "章节列表 Chapter List",
+  add_labels_section: "添加标签 Add labels",
+  recorded_section: "已传录音 Recorded",
+  add_labels_section: "微信分享 WeChat sharing",
 };

+ 58 - 36
src/lang/modules/ReportManagement/SmartReport.js

@@ -75,40 +75,51 @@ export const SmartReportEn = {
     send_email: "Send email to group",
     send_log: "Group send log",
     image_download: "Image Download",
-    tooltip_pv_show: "The number of times the report has been opened, calculated once each time it is opened (only for authorized users)",
-    tooltip_uv_show:
-      "The number of people accessing the report, and the same person accessing each report is only counted once (only authorized users are counted)",
-    smart_msg: {
-      no_edit: "This research report is currently being edited and cannot be duplicated",
-      unknown_error: "Unknown error, please try again later",
-      uploaded_limitation: "The size of the uploaded file cannot exceed 200M",
-      upload_format: "The upload file format is incorrect",
-      report_recording: "Report not uploaded recording",
-      published_success: "Successfully published and pushed",
-      submit_approval: "Are you sure to submit this report for approval?",
-      revoke_approval: "Are you sure you want to revoke the approval?",
-      revoke_success: "Revoke successful",
-      submit_success: "Submitted successfully",
-      sent_success: "Successfully sent",
-      push_success: "Push successful",
-      release_prompt: "Release prompt",
-      publish_it: "Are you sure to publish it?",
-      delete_it: "Are you sure to delete it?",
-      select_dl_report: "Please select the report that needs to be downloaded",
-      is_publish_immediately: "This report has been scheduled for publication. Would you like to change it to publish immediately?",
-      report_publish_immediately: "Are you sure you want to publish now?",
-      copy_success: "Copy link successful",
-      browser_supported: "Browser not currently supported",
-      select_email_person: "Please select email recipients ",
-      email_subject: "Please input email subject",
-      email_characters: "Email subject should be within 100 characters",
-      synchronization: "Synchronization successful",
-      upload_success: "Upload Successful",
-      please_select_file: "Please select file",
-      should_published_immediately: "Should the report be published immediately?",
-      timed_release_setup: "The report has been scheduled for publication. Do you want to publish the report now?",
-      please_manually_save: "Automatic image download failed, please manually save",
-    },
+    push: "Push",
+    not_push: "Do not push",
+  },
+  tooltip_pv_show: "The number of times the report has been opened, calculated once each time it is opened (only for authorized users)",
+  tooltip_uv_show: "The number of people accessing the report, and the same person accessing each report is only counted once (only authorized users are counted)",
+  smart_msg: {
+    no_edit: "This research report is currently being edited and cannot be duplicated",
+    unknown_error: "Unknown error, please try again later",
+    uploaded_limitation: "The size of the uploaded file cannot exceed 200M",
+    upload_format: "The upload file format is incorrect",
+    report_recording: "Report not uploaded recording",
+    published_success: "Successfully published and pushed",
+    submit_approval: "Are you sure to submit this report for approval?",
+    revoke_approval: "Are you sure you want to revoke the approval?",
+    revoke_success: "Revoke successful",
+    submit_success: "Submitted successfully",
+    sent_success: "Successfully sent",
+    push_success: "Push successful",
+    release_prompt: "Release prompt",
+    publish_it: "Are you sure to publish it?",
+    delete_it: "Are you sure to delete it?",
+    select_dl_report: "Please select the report that needs to be downloaded",
+    is_publish_immediately: "This report has been scheduled for publication. Would you like to change it to publish immediately?",
+    report_publish_immediately: "Are you sure you want to publish now?",
+    copy_success: "Copy link successful",
+    browser_supported: "Browser not currently supported",
+    select_email_person: "Please select email recipients ",
+    email_subject: "Please input email subject",
+    email_characters: "Email subject should be within 100 characters",
+    synchronization: "Synchronization successful",
+    upload_success: "Upload Successful",
+    please_select_file: "Please select file",
+    should_published_immediately: "Should the report be published immediately?",
+    timed_release_setup: "The report has been scheduled for publication. Do you want to publish the report now?",
+    please_manually_save: "Automatic image download failed, please manually save",
+    all_loaded_have: "All have been loaded",
+    timed_success: "Timed release successful!",
+    push_report_msg: "Do you want to publish a scheduled report and push template messages?",
+    is_push_timed: "Is a scheduled report released?",
+    than_current_time: "Timed release must not be earlier than the current time",
+    select_push_time: "Please select a scheduled release time",
+    publishing_messages: "After publishing, do you want to push template messages?",
+    img_wait: "There are some images that have not been uploaded yet. Please wait",
+    please_enter: "Please enter",
+    publishing_is_push: "After publishing, do we push template messages and customer groups?",
   },
 };
 
@@ -185,10 +196,11 @@ export const SmartReportZh = {
     send_email: "群发邮件",
     send_log: "群发日志",
     image_download: "图片下载",
+    push: "推送",
+    not_push: "不推送",
   },
   tooltip_pv_show: "报告被打开的次数,每次打开都计算一次(只统计有权限用户)",
-  tooltip_uv_show:
-    "访问报告的人数,每篇报告同一个人访问只计算一次(只统计有权限用户)",
+  tooltip_uv_show: "访问报告的人数,每篇报告同一个人访问只计算一次(只统计有权限用户)",
   smart_msg: {
     no_edit: "该研报正在编辑,不可重复编辑",
     unknown_error: "未知错误,请稍后重试",
@@ -219,6 +231,16 @@ export const SmartReportZh = {
     should_published_immediately: "是否立即发布报告?",
     timed_release_setup: "该报告已设置定时发布,是否立即发布报告?",
     please_manually_save: "自动下载图片失败,请手动保存",
+    all_loaded_have: "已全部加载完",
+    timed_success: "定时发布成功!",
+    push_report_msg: "是否发布定时报告,并推送模板消息?",
+    is_push_timed: "是否发布定时报告?",
+    than_current_time: "定时发布不得早于当前时间",
+    select_push_time: "请选择定时发布的时间",
+    publishing_messages: "发布后,是否推送模板消息?",
+    img_wait: "有图片未上传完成,请稍等",
+    please_enter: "请输入",
+    publishing_is_push: "发布后,是否推送模板消息和客户群?",
   },
 };
 

+ 1 - 1
src/views/ppt_manage/newVersion/components/IndexItem.vue

@@ -31,7 +31,7 @@
                页
             </div>
             
-            <p class="page-index" v-else @dblclick.stop="editPage"> {{$i18n.locale == 'zh' ?`第${index+1}页`:` Slide${index+1}`}}</p>  
+            <p class="page-index" v-else @dblclick.stop="editPage"> {{$i18n.locale == 'zh' ?`第${pageIndex+1}页`:` Slide${pageIndex+1}`}}</p>  
         </div>
         <el-popconfirm
             @onConfirm="deletePage"

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

@@ -92,7 +92,7 @@
                             <span class="close-btn" @click.stop slot="reference"></span>
                         </el-popconfirm>
                         <!-- 页码 -->
-                        <span class="page-num"> {{this.$i18n.locale == 'zh' ?`第${index+1}页`:` Slide${index+1}`}}</span>
+                        <span class="page-num"> {{$i18n.locale == 'zh' ?`第${index+1}页`:` Slide${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> {{$t('Slides.update_chart_btn')}}</span>
                     </div>

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

@@ -90,7 +90,7 @@
                         <span class="close-btn" @click.stop slot="reference"></span>
                     </el-popconfirm>
                     <!-- 页码 -->
-                    <span class="page-num"> {{this.$i18n.locale == 'zh' ?`第${index+1}页`:` Slide${index+1}`}}</span>
+                    <span class="page-num"> {{$i18n.locale == 'zh' ?`第${index+1}页`:` Slide${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>{{$t('Slides.update_chart_btn')}}</span>
                 </div>

+ 17 - 21
src/views/ppt_manage/newVersion/pptEnPresent.vue

@@ -86,7 +86,7 @@
             <el-dropdown split-button type="primary" @click="FullScreen" @command="handleCommand">
               {{$t('Slides.play_from_current_slide')}}
               <el-dropdown-menu slot="dropdown">
-                <el-dropdown-item>{{$T('Slides.play_for_the_first_slide')}}</el-dropdown-item>
+                <el-dropdown-item>{{$t('Slides.play_for_the_first_slide')}}</el-dropdown-item>
               </el-dropdown-menu>
             </el-dropdown>
           </div>
@@ -188,10 +188,22 @@ export default {
   mixins:[pptmixin,mixins],
   data() {
     return {
+      coverInfo:{
+        index:{
+          id:0,
+          title:'封面',
+        },
+        /* page:{
+          Title:'ppt标题阿巴阿巴',
+          ReportType:'ppt副标题阿巴阿巴',
+          BackgroundImg:'https://hzstatic.hzinsights.com/ppt/bg3.jpg',
+          PptDate:'2022年7月'
+        } */
+      },//封面信息
       backInfo:{
         index:{
           id:-1,
-          title:'尾页'
+          title:this.$t('Slides.back_cover_info')
         }
       },//封底信息
       pageList:[],//ppt数组
@@ -234,26 +246,10 @@ export default {
     },
     pptSlidePages(){
       let str = this.$i18n.locale == 'zh'? 
-      `第${currentIndex+1}页PPT,共${isShowBack?(pageList.length+2):(pageList.length+1)}页` 
-      : `Slide${currentIndex+1} of ${isShowBack?(pageList.length+2):(pageList.length+1)}`
+      `第${this.currentIndex+1}页PPT,共${this.isShowBack?(this.pageList.length+2):(this.pageList.length+1)}页` 
+      : `Slide${this.currentIndex+1} of ${this.isShowBack?(this.pageList.length+2):(this.pageList.length+1)}`
       return str
     },
-    //封面信息
-    coverInfo(){
-       return {
-         id:0,
-         title:this.$t('Slides.cover_info'),
-       }
-    },
-    //封底信息
-    backInfo(){
-     return {
-      index:{
-          id:-1,
-           title:this.$t('Slides.back_cover_info'),
-        }
-     }
-    }
   },
   methods: {
     //切换当前显示的页面
@@ -518,7 +514,7 @@ export default {
     //改变ppt的宽高比
     async handleLayoutCommand(command){
       this.LayoutType = command
-      this.layoutStr = ['',`10:7${t('Slides.default_size')}`,'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);

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

@@ -71,6 +71,26 @@ export default {
   mixins:[pptmixin,mixins],
   data() {
     return {
+        coverInfo:{
+        id:0,
+        title:'封面',
+        index:{
+          id:0,
+          title:'封面',
+          idName:'cover'
+        },
+        /* page:{
+          Title:'ppt标题阿巴阿巴',
+          ReportType:'ppt副标题阿巴阿巴',
+          BackgroundImg:'https://hzstatic.hzinsights.com/ppt/bg3.jpg',
+          PptDate:'2022年7月'
+        } */
+      },//封面信息
+      backInfo:{
+        id:-1,
+        title:'封底',
+        idName:'back'
+      },//封底信息
       isPublish:false,//是否在发布中
       pageList:[],//ppt数组(页面信息)
       pptFile:null,//
@@ -95,26 +115,6 @@ export default {
       layoutStr(){
         return `10:7${this.$t('Slides.default_publish')}`
       },
-    //封面信息
-      coverInfo(){
-        return {
-          id:0,
-            title:this.$t('Slides.cover_info'),
-            index:{
-              id:0,
-              title:this.$t('Slides.cover_info'),
-              idName:'cover'
-            },
-        }
-      },
-      //封底信息
-      backInfo(){
-      return {
-            id:-1,
-            title:this.$t('Slides.back_cover_info'),
-            idName:'back'
-      }
-      }
   },
   methods: {
     async transHandle(){

+ 20 - 18
src/views/ppt_manage/newVersion/pptPresent.vue

@@ -187,6 +187,24 @@ export default {
   mixins:[pptmixin,mixins],
   data() {
     return {
+        coverInfo:{
+        index:{
+          id:0,
+          title:'封面',
+        },
+        /* page:{
+          Title:'ppt标题阿巴阿巴',
+          ReportType:'ppt副标题阿巴阿巴',
+          BackgroundImg:'https://hzstatic.hzinsights.com/ppt/bg3.jpg',
+          PptDate:'2022年7月'
+        } */
+      },//封面信息
+      backInfo:{
+        index:{
+          id:-1,
+          title:this.$t('Slides.back_cover_info')
+        }
+      },//封底信息
       pageList:[],//ppt数组
       currentItem:null,//当前活跃的page
       currentIndex:0,//当前活跃的pageIndex
@@ -226,26 +244,10 @@ export default {
     },
     pptSlidePages(){
       let str = this.$i18n.locale == 'zh'? 
-      `第${currentIndex+1}页PPT,共${isShowBack?(pageList.length+2):(pageList.length+1)}页` 
-      : `Slide${currentIndex+1} of ${isShowBack?(pageList.length+2):(pageList.length+1)}`
+      `第${this.currentIndex+1}页PPT,共${this.isShowBack?(this.pageList.length+2):(this.pageList.length+1)}页` 
+      : `Slide${this.currentIndex+1} of ${this.isShowBack?(this.pageList.length+2):(this.pageList.length+1)}`
       return str
     },
-    //封面信息
-    coverInfo(){
-        return {
-          id:0,
-          title:this.$t('Slides.cover_info'),
-        }
-    },
-    //封底信息
-    backInfo(){
-      return {
-      index:{
-          id:-1,
-           title:this.$t('Slides.back_cover_info'),
-        }
-      }
-    }
   },
   methods: {
     //切换当前显示的页面

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

@@ -85,6 +85,26 @@ export default {
   mixins:[pptmixin,mixins,virtualScroll],
   data() {
     return {
+        coverInfo:{
+        id:0,
+        title:'封面',
+        index:{
+          id:0,
+          title:'封面',
+          idName:'cover'
+        },
+        /* page:{
+          Title:'ppt标题阿巴阿巴',
+          ReportType:'ppt副标题阿巴阿巴',
+          BackgroundImg:'https://hzstatic.hzinsights.com/ppt/bg3.jpg',
+          PptDate:'2022年7月'
+        } */
+      },//封面信息
+      backInfo:{
+        id:-1,
+        title:'封底',
+        idName:'back'
+      },//封底信息
       isPublish:false,//是否在发布中
       pageList:[],//ppt数组(页面信息)
       pptFile:null,//
@@ -111,26 +131,6 @@ export default {
     layoutStr(){
         return `10:7${this.$t('Slides.default_publish')}`
     },
-    //封面信息
-    coverInfo(){
-       return {
-         id:0,
-          title:this.$t('Slides.cover_info'),
-          index:{
-            id:0,
-            title:this.$t('Slides.cover_info'),
-            idName:'cover'
-          },
-       }
-    },
-    //封底信息
-    backInfo(){
-     return {
-          id:-1,
-          title:'封底',
-          idName:'back'
-     }
-    }
   },
   methods: {
     //计算title的字节数

+ 73 - 75
src/views/report_manage/addreportNew.vue

@@ -4,7 +4,7 @@
 			id="leftfroala" 
 			:class="{'full':!isRightFormShow,'block':isRightFormShow}"
 			v-loading="importChartNum>0" 
-			element-loading-text="图表批量插入中..."
+			:element-loading-text="$t('ReportManage.ReportList.chart_insertion_progress')"
 			element-loading-spinner="el-icon-loading"
 			element-loading-background="rgba(0, 0, 0, 0.8)"
 		>
@@ -26,7 +26,7 @@
 				"
 			>
 				<div v-show="lastsavetime" style="color: #666; margin-bottom: 15px">
-					最近保存时间:{{ lastsavetime }}
+					{{$t('ReportManage.ReportList.last_save_time')}}:{{ lastsavetime }}
 				</div>
 				<el-button
 					type="primary"
@@ -34,21 +34,21 @@
 					plain
 					@click.native="refreshReport"
 				>
-					一键刷新
+					{{$t('ReportManage.ReportList.click_refresh_btn')}}
 				</el-button>
 				<el-button v-permission="permissionBtn.reportManageBtn.reportManage_reportView"
 					type="primary"
 					size="medium"
 					plain
 					@click.native="clickreportadd('yl')"
-					>预览</el-button
+					>{{$t('ReportManage.ReportList.preview_btn')}}</el-button
 				>
 				<el-button
 					type="primary"
 					size="medium"
 					plain
 					@click.native="clickreportadd('cg')"
-					>存草稿</el-button
+					>{{$t('ReportManage.ReportList.save_draft_btn')}}</el-button
 				>
 				<!--不走审批流-->
 				<template v-if="!isApprove||!hasApproveFlow">
@@ -57,7 +57,7 @@
 						size="medium"
 						:disabled="checkLoading"
 						@click.native="clickreportadd('dsfb')"
-						>定时发布</el-button
+						>{{$t('ReportManage.ReportList.scheduled_publish_btn')}}</el-button
 					>
 					<el-button v-permission="permissionBtn.reportManageBtn.reportManage_publish"
 						type="primary"
@@ -65,13 +65,13 @@
 						:disabled="checkLoading"
 						@click.native="clickreportadd('fb')"
 						:loading="isPublishloading"
-						>发布</el-button
+						>{{$t('ReportManage.ReportList.publish_btn')}}</el-button
 					>
 				</template>
 				<template v-if="isApprove&&hasApproveFlow">
 					<el-button v-permission="permissionBtn.reportManageBtn.reportManage_publish"
 						:disabled="checkLoading"
-						type="primary" size="medium" @click="clickreportadd('submit')">提交</el-button>
+						type="primary" size="medium" @click="clickreportadd('submit')">{{$t('ReportManage.ReportList.submission_btn')}}</el-button>
 				</template>
 			</div>
 			<div
@@ -84,7 +84,7 @@
 				"
 			>
 				<el-tabs v-model="tabsactive">
-					<el-tab-pane :label="tab" :name="tab" v-for="tab in panelTabs" :key="tab"></el-tab-pane>
+					<el-tab-pane :label="tab.label" :name="tab.key" v-for="tab in panelTabs" :key="tab.key"></el-tab-pane>
 				</el-tabs>
 				<div
 					v-if="tabsactive == '基础信息'"
@@ -100,52 +100,52 @@
 						id="login-container"
 						@submit.native.prevent
 					>
-						<el-form-item prop="add_type" label="新增方式">
+						<el-form-item prop="add_type" :label="$t('ReportManage.ReportList.new_method_btn')">
 							<el-select
 								v-model="aeForm.add_type"
 								@change="userclassidreportdetail"
-								placeholder="请选择"
+								:placeholder="$t('ReportManage.CategoryList.please_select')"
 								size="medium"
 								style="width: 270px"
 							>
-								<el-option label="新增报告" :value="1"></el-option>
-								<el-option label="继承报告" :value="2"></el-option>
+								<el-option :label="$t('ReportManage.ReportList.new_report_radio')" :value="1"></el-option>
+								<el-option :label="$t('ReportManage.ReportList.inherit_report_radio')" :value="2"></el-option>
 							</el-select>
 						</el-form-item>
-						<el-form-item prop="classifynameArr" label="分类">
+						<el-form-item prop="classifynameArr" :label="$t('ReportManage.ReportList.classificiation_selest')">
 							<el-cascader
 								@change="userclassidreportdetail"
 								ref="cascader"
 								:options="optionsArr"
 								v-model="aeForm.classifynameArr"
-								placeholder="类型筛选"
+								:placeholder="$t('ReportManage.smart_type_filtering')"
 								size="medium"
 								style="width: 270px"
 							></el-cascader>
 						</el-form-item>
-						<el-form-item prop="title" label="标题">
+						<el-form-item prop="title" :label="$t('ReportManage.ReportList.title_ipt')">
 							<el-input
 								type="textarea"
 								:rows="2"
-								placeholder="请输入"
+								:placeholder="$t('ReportManage.CategoryList.please_input')"
 								v-model="aeForm.title"
 								size="medium"
 							></el-input>
 						</el-form-item>
-						<el-form-item label="摘要">
+						<el-form-item :label="$t('ReportManage.ReportList.abstract_ipt')">
 							<el-input
 								type="textarea"
 								:rows="2"
-								placeholder="请输入"
+								:placeholder="$t('ReportManage.CategoryList.please_input')"
 								v-model="aeForm.abstract"
 								size="medium"
 							></el-input>
 						</el-form-item>
-						<el-form-item label="作者">
+						<el-form-item :label="$t('ReportManage.ReportList.author_select')">
 							<el-select
 								v-model="aeForm.author"
 								multiple
-								placeholder="请选择"
+								:placeholder="$t('ReportManage.CategoryList.please_select')"
 								size="medium"
 								style="width: 270px"
 							>
@@ -157,29 +157,29 @@
 								></el-option>
 							</el-select>
 						</el-form-item>
-						<el-form-item label="频度">
+						<el-form-item :label="$t('ReportManage.ReportList.frequency_select')">
 							<el-select
 								v-model="aeForm.frequency"
-								placeholder="请选择"
+								:placeholder="$t('ReportManage.CategoryList.please_select')"
 								size="medium"
 								style="width: 270px"
 							>
-								<el-option label="年度" value="年度"></el-option>
-								<el-option label="半年度" value="半年度"></el-option>
-								<el-option label="季度" value="季度"></el-option>
-								<el-option label="月度" value="月度"></el-option>
-								<el-option label="双周度" value="双周度"></el-option>
-								<el-option label="周度" value="周度"></el-option>
-								<el-option label="日度" value="日度"></el-option>
-								<el-option label="不定时" value="不定时"></el-option>
+							   <el-option :label="$t('ReportManage.smart_annually')" :value="$t('ReportManage.smart_annually')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_semi_annually')" :value="$t('ReportManage.smart_semi_annually')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_quarterly')" :value="$t('ReportManage.smart_quarterly')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_monthly')" :value="$t('ReportManage.smart_monthly')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_bi_weekly')" :value="$t('ReportManage.smart_bi_weekly')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_weekly')" :value="$t('ReportManage.smart_weekly')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_daily')" :value="$t('ReportManage.smart_daily')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_irregularly')" :value="$t('ReportManage.smart_irregularly')"></el-option>
 							</el-select>
 						</el-form-item>
-						<el-form-item label="创建时间">
+						<el-form-item :label="$t('ReportManage.ReportList.creation_time_select')">
 							<el-date-picker
 								v-model="aeForm.create_time"
 								type="date"
 								value-format="yyyy-MM-dd"
-								placeholder="选择日期"
+								:placeholder="$t('ReportManage.ReportList.select_date')"
 								size="medium"
 								:clearable="false"
 								style="width: 270px"
@@ -189,7 +189,7 @@
 				</div>
 				<div v-if="tabsactive == '图表插入'">
 					<el-input
-						placeholder="图表名称"
+						:placeholder="$t('ReportManage.ReportList.chart_name')"
 						v-model="key_word"
 						size="medium"
 						prefix-icon="el-icon-search"
@@ -197,15 +197,15 @@
 					>
 					</el-input>
 					<el-radio-group v-model="chart_source" @change="() => {search_page=1;$refs.chartListRef.scrollTop = 0;getreportlist()}" style="margin-top: 10px;">
-						<el-radio :label="1">ETA图库</el-radio>
-						<el-radio :label="2">商品价格曲线</el-radio> 
-						<el-radio :label="3">相关性图表</el-radio>
-						<el-radio :label="6">拟合方程曲线</el-radio>
-						<el-radio :label="7">统计特征</el-radio>
-						<el-radio :label="10">跨品种分析</el-radio>
+						<el-radio :label="1">{{$t('ReportManage.ReportList.chart_inventory_radio')}}</el-radio>
+						<el-radio :label="2">{{$t('ReportManage.ReportList.price_curve_radio')}}</el-radio> 
+						<el-radio :label="3">{{$t('ReportManage.ReportList.related_charts_radio')}}</el-radio>
+						<el-radio :label="6">{{$t('ReportManage.ReportList.curve_fitting_radio')}}</el-radio>
+						<el-radio :label="7">{{$t('ReportManage.ReportList.statistical_feature_radio')}}</el-radio>
+						<el-radio :label="10">{{$t('ReportManage.ReportList.intercommodity_analysis_radio')}}</el-radio>
 					</el-radio-group>
 					<div style="margin: 10px 0">
-						<el-checkbox v-model="isShowMe" @change="() => {search_page=1;$refs.chartListRef.scrollTop = 0;getreportlist(key_word)}">只看我的</el-checkbox>
+						<el-checkbox v-model="isShowMe" @change="() => {search_page=1;$refs.chartListRef.scrollTop = 0;getreportlist(key_word)}">{{$t('ReportManage.ReportList.just_mine_radio')}}</el-checkbox>
 					</div>
 					<div
 						id="reportwin"
@@ -234,13 +234,13 @@
 							</div>
 						</template>
 
-						<tableNoData text="暂无图表" size="mini" v-else/>
+						<tableNoData :text="$t('ReportManage.ReportList.no_chart_table_available')" size="mini" v-else/>
 					</div>
 
 				</div>
 				<div v-if="tabsactive == '沙盘插入'">
 					<el-input
-						placeholder="沙盘名称/品种"
+						:placeholder="$t('ReportManage.ReportList.no_reports_msg')"
 						v-model="sandTabelQuery.Keyword"
 						size="medium"
 						prefix-icon="el-icon-search"
@@ -271,12 +271,12 @@
 								<!-- <p class="source-identification">来源:弘则研究</p> -->
 							</div>
 						</template>
-						<tableNoData text="暂无数据" size="mini" v-else/>
+						<tableNoData :text="$t('Table.prompt_slogan')"  size="mini" v-else/>
 					</div>
 				</div>
 				<div v-if="tabsactive == '表格插入'">
 					<el-input
-						placeholder="表格名称"
+						:placeholder="$t('ReportManage.ReportList.table_name_tabs')"
 						v-model="sheetSearchObj.Keyword"
 						size="medium"
 						prefix-icon="el-icon-search"
@@ -306,7 +306,7 @@
 							</div>
 						</template>
 
-						<tableNoData text="暂无数据" size="mini" v-else/>
+						<tableNoData :text="$t('Table.prompt_slogan')" size="mini" v-else/>
 					</div>
 				</div>
 				<div v-if="tabsactive == 'MyETA批量插入'">
@@ -331,23 +331,23 @@
 			:append-to-body="true" 
 			:visible.sync="showDSFB" 
 			width="500px" 
-			title="定时发布"
+			:title="$t('ReportManage.ReportList.scheduled_publish_btn')"
 		>
 			<div>
 				<div>
-					<span>发送时间</span>
+					<span>{{$t('ReportManage.ReportList.publish_time')}}</span>
 					<el-date-picker
 						v-model="taskTime"
 						type="datetime"
-						placeholder="选择日期时间"
+						:placeholder="$t('ReportManage.ReportList.select_date_and_time')"
 						value-format="yyyy-MM-dd HH:mm"
 						:picker-options="timePickerOpt"
 					/>
 				</div>
-				<p style="margin:15px 0">设置成功之后,研报将定时进行发送。</p>
+				<p style="margin:15px 0">{{$t('ReportManage.ReportList.the_report_will_be_posted_on_time')}}</p>
 				<div style="text-align:right;margin:20px 0">
-					<el-button type="primary" plain @click="showDSFB=false">取消</el-button>
-					<el-button type="primary" @click="handleSetReportPrepublish">确定</el-button>
+					<el-button type="primary" plain @click="showDSFB=false">{{$t('Dialog.cancel_btn')}}</el-button>
+					<el-button type="primary" @click="handleSetReportPrepublish">{{$t('Dialog.confirm_btn')}}</el-button>
 				</div>
 			</div>
 		</el-dialog>
@@ -556,7 +556,7 @@ export default {
 			classifyIdDetail(params).then((res) => {
 				if (res.Ret == 200) {
 					if (res.Data == null) {
-						this.$message.error('此分类暂无报告');
+						this.$message.error(this.$t('ReportManage.ReportList.no_reports_msg'));
 						return false;
 					}
 					let obj=JSON.parse(JSON.stringify(this.aeForm.classifynameArr))
@@ -583,15 +583,15 @@ export default {
 				!this.aeForm.classifynameArr ||
 				this.aeForm.classifynameArr.length == 0
 			) {
-				this.$message.error('请选择分类');
+				this.$message.error(this.$t('ReportManage.ReportList.please_select_category'));
 				return false;
 			}
 			if (!this.aeForm.title) {
-				this.$message.error('请输入标题');
+				this.$message.error(this.$t('ReportManage.ReportList.input_title_please'));
 				return false;
 			}
 			if(!this.autoSaveFlag){
-				this.$message.error('有图片未上传完成,请稍等')
+				this.$message.error(this.$t('ReportManage.smart_msg.img_wait'))
 				return false
 			}
 			//如果富文本中有未上传完成的图片,去除这个dom
@@ -665,9 +665,9 @@ export default {
 						this.isMessagePost = false; 
 						this.reporteditMsg(params2,tp)
 					}else if(isPost){
-						this.$confirm('发布后,是否推送模板消息?', '发布提示', {
-								confirmButtonText: '推送',
-								cancelButtonText: '不推送',
+						this.$confirm(this.$t('ReportManage.smart_msg.publishing_messages'), this.$t('ReportManage.smart_release_prompt_btn'), {
+								confirmButtonText: this.$t('ReportManage.smart_btn.push'),
+								cancelButtonText: this.$t('ReportManage.smart_btn.not_push'),
 								type: 'warning',
 								distinguishCancelAndClose:true,
 								beforeClose:(action, instance,done)=>{
@@ -702,9 +702,9 @@ export default {
 						this.isMessagePost = false; 
 						this.reportaddMsg(params,tp)
 					}else if(isPost){
-						this.$confirm('发布后,是否推送模板消息?', '发布提示', {
-								confirmButtonText: '推送',
-								cancelButtonText: '不推送',
+						this.$confirm(this.$t('ReportManage.smart_msg.publishing_messages'), this.$t('ReportManage.ReportList.smart_release_prompt_btn'), {
+								confirmButtonText: this.$t('ReportManage.smart_btn.push'),
+								cancelButtonText:  this.$t('ReportManage.smart_btn.not_push'),
 								type: 'warning',
 								distinguishCancelAndClose:true,
 								beforeClose:(action, instance,done)=>{
@@ -746,21 +746,20 @@ export default {
 		// 定时发布报告
 		handleSetReportPrepublish(){
 			if(!this.taskTime){
-				this.$message.warning('请选择定时发布的时间')
+				this.$message.warning(this.$t('ReportManage.smart_msg.select_push_time'))
 				return
 			}
 			const now=this.$moment().format('YYYY-MM-DD HH:mm:ss')
 			console.log(now);
 			console.log(this.taskTime);
 			if(this.$moment(this.taskTime).isBefore(now,'second')){
-				this.$message.warning('定时发布不得早于当前时间')
+				this.$message.warning(this.$t('ReportManage.smart_msg.than_current_time'))
 				return
 			}
-			console.log('定时去发布了');
 			const isPost = this.permissionBtn.checkPermissionBtn(this.permissionBtn.reportManageBtn.reportManage_sendMsg)
-			this.$confirm(isPost?'是否发布定时报告,并推送模板消息?':'是否发布定时报告?', '发布提示', {
-				confirmButtonText: isPost?'推送':'发布',
-				cancelButtonText: isPost?'不推送':'取消',
+			this.$confirm(isPost?this.$t('ReportManage.smart_msg.push_report_msg'):this.$t('ReportManage.smart_msg.is_push_timed'), this.$t('ReportManage.ReportList.smart_release_prompt_btn'), {
+				confirmButtonText: isPost?this.$t('ReportManage.smart_btn.push'):this.$t('ReportManage.smart_btn.publish'),
+				cancelButtonText: isPost?this.$t('ReportManage.smart_btn.not_push'):this.$t('Dialog.cancel_btn'),
 				type: 'warning',
 				distinguishCancelAndClose:true,
 				beforeClose:(action, instance,done)=>{
@@ -774,7 +773,7 @@ export default {
 								PreMsgSend:0,
 							}).then(res=>{
 								if(res.Ret===200){
-									this.$message.success('定时发布成功!')
+									this.$message.success(this.$t('ReportManage.smart_msg.timed_success'))
 									this.$router.push({ path: '/reportlist' });
 								}
 							})
@@ -787,7 +786,7 @@ export default {
 							PreMsgSend:isPost?1:0,
 						}).then(res=>{
 							if(res.Ret===200){
-								this.$message.success('定时发布成功!')
+								this.$message.success(this.$t('ReportManage.smart_msg.timed_success'))
 								this.$router.push({ path: '/reportlist' });
 							}
 						})
@@ -835,7 +834,6 @@ export default {
 				let ifm=document.getElementById(item.domId)
 				ifm.onload=(e)=>{
 					this.importChartNum--
-					console.log('一个iframe加载了',e.path[0]);
 				}
 			})
 		},
@@ -851,9 +849,9 @@ export default {
 					this.sandTableList = List
 					this.sandTableTotal = Paging.Totals
 					if(this.sandTableList.length ==0){
-						this.loadedText = '暂无数据'
+						this.loadedText = this.$t('Table.prompt_slogan')
 					}else if(this.sandTableList.length>=this.sandTableTotal){
-						this.loadedText='已全部加载完'
+						this.loadedText = this.$t('ReportManage.smart_msg.all_loaded_have')
 					}else{
 
 					}
@@ -867,7 +865,7 @@ export default {
 		// 沙盘列表滚动事件,触底加载下一页数据 防抖
 		sandTableHandleScroll:_.debounce(function (e) {
 			if(this.sandTableList.length>=this.sandTableTotal){
-				this.loadedText = '已全部加载完'
+				this.loadedText = this.$t('ReportManage.smart_msg.all_loaded_have')
 				return
 			}
 			if(e.target.scrollHeight-e.target.clientHeight-e.target.scrollTop<10 && !this.isRequesting){
@@ -925,7 +923,7 @@ export default {
 					title: '',
 					abstract: '',
 					author: ['FICC团队'],
-					frequency: '日度',
+					frequency: this.$t('ReportManage.smart_daily'),
 					create_time: http.dateFormatter(new Date(), false),
 					content: '',
 				};

+ 25 - 25
src/views/report_manage/dayOrWeek.vue

@@ -2,26 +2,26 @@
     <div class="morning-week-page">
         <el-form :model="form" :rules="rules" label-width="80px" ref="form" class="form-wrap">
             <section class="section flex">
-                <el-form-item label="报告类型" prop="type" style="width:50%">
-                    <el-select :disabled="$route.query.isEdit" v-model="form.type" @change="typeChange" placeholder="请选择报告类型" style="width:80%">
-                        <el-option label="周报" :value="'week'"></el-option>
-                        <el-option label="晨报" :value="'day'"></el-option>
+                <el-form-item :label="$t('ReportManage.smart_report_type')" prop="type" style="width:50%">
+                    <el-select :disabled="$route.query.isEdit" v-model="form.type" @change="typeChange" :placeholder="$t('ReportManage.ReportList.please_report_type_select')" style="width:80%">
+                        <el-option :label="$t('ReportManage.smart_btn.weekly')" :value="'week'"></el-option>
+                        <el-option :label="$t('ReportManage.smart_btn.morning_paper')" :value="'day'"></el-option>
                     </el-select>
                 </el-form-item>
-                <el-form-item label="报告标题" prop="title" style="width:50%">
-                    <el-input placeholder="请填写报告标题" v-model="form.title" style="width:80%"></el-input>
+                <el-form-item :label="$t('ReportManage.smart_report_title')" prop="title" style="width:50%">
+                    <el-input :placeholder="$t('ReportManage.ReportList.please_report_title_input')" v-model="form.title" style="width:80%"></el-input>
                 </el-form-item>
-                <el-form-item label="发布时间" prop="time" style="width:50%">
+                <el-form-item :label="$t('ReportManage.smart_publish_time')" prop="time" style="width:50%">
                     <el-date-picker
                         v-model="form.time"
                         type="date"
-                        placeholder="选择日期"
+                        :placeholder="$t('ReportManage.ReportList.select_date')"
                         style="width:80%"
                         format="yyyy-MM-dd"
                         value-format="yyyy-MM-dd">
                     </el-date-picker>
                 </el-form-item>
-                <el-form-item label="作者" prop="auth" style="width:50%">
+                <el-form-item :label="$t('ReportManage.ReportList.author_select')" prop="auth" style="width:50%">
                     <el-input placeholder="请填写作者" v-model="form.auth" style="width:80%"></el-input>
                 </el-form-item>
                 <div v-if="!$route.query.isEdit">
@@ -254,7 +254,7 @@ export default {
                         Author:this.form.auth
                     }).then(res=>{
                         if(res.Ret===200){
-                            this.$message.success('保存成功')
+                            this.$message.success(this.$t('MsgPrompt.saved_msg'))
                         }
                     })
                 }
@@ -279,9 +279,9 @@ export default {
                 const validRes=await weekReportValidAudio({ReportId:Number(this.reportId)})
                 if(validRes.Ret===200){
                     if(validRes.Data){
-                        this.$confirm(`报告未上传录音:${validRes.Data.join('、')},确定发布吗?`, '发布提示', {
-                            confirmButtonText: '确定',
-                            cancelButtonText: '取消',
+                        this.$confirm(`${this.$t('ReportManage.smart_msg.report_recording')}${validRes.Data.join('、')},${this.$t('ReportManage.smart_msg.publish_it')}`, this.$t('ReportManage.smart_release_prompt_btn'), {
+                            confirmButtonText:  this.$t('Dialog.confirm_btn'),
+                            cancelButtonText: this.$t('Dialog.cancel_btn'),
                             type: 'warning'
                         }).then(()=>{
                             this.handlePublishReport()
@@ -305,23 +305,23 @@ export default {
             if(res.Ret===200){
                 if(this.form.type=='day'){
                     if(res.Data){
-                        this.$alert(res.Data, '发布提示', {
+                        this.$alert(res.Data, this.$t('ReportManage.smart_release_prompt_btn'), {
                             confirmButtonText: '确定',
                             callback: action => {
-                                this.$confirm('发布后,是否推送模板消息和客户群?', '发布提示', {
-                                    confirmButtonText: '推送',
-                                    cancelButtonText: '不推送',
+                                this.$confirm(this.$t('ReportManage.smart_msg.publishing_is_push'), this.$t('ReportManage.smart_release_prompt_btn'), {
+                                    confirmButtonText: this.$t('ReportManage.smart_btn.push'),
+								    cancelButtonText: this.$t('ReportManage.smart_btn.not_push'),
                                     type: 'warning'
                                 }).then(async ()=>{
                                     const pushRes=await reportMessageSend({ReportId:this.reportId})
                                     if(pushRes.Ret===200){
-                                        this.$message.success('推送成功')
+                                        this.$message.success(this.$t('ReportManage.smart_msg.push_success'))
                                         setTimeout(() => {
                                             this.$router.go(-1)
                                         }, 1500);
                                     }
                                 }).catch(()=>{
-                                    this.$message.success('发布成功')
+                                    this.$message.success(this.$t('MsgPrompt.publish_msg'))
                                     setTimeout(() => {
                                         this.$router.go(-1)
                                     }, 1500);
@@ -329,20 +329,20 @@ export default {
                             }
                         });
                     }else{
-                        this.$confirm('发布后,是否推送模板消息和客户群?', '发布提示', {
-                            confirmButtonText: '推送',
-                            cancelButtonText: '不推送',
+                        this.$confirm(this.$t('ReportManage.smart_msg.publishing_is_push'), this.$t('ReportManage.smart_release_prompt_btn'), {
+                            confirmButtonText: this.$t('ReportManage.smart_btn.push'),
+							cancelButtonText: this.$t('ReportManage.smart_btn.not_push'),
                             type: 'warning'
                         }).then(async ()=>{
                             const pushRes=await reportMessageSend({ReportId:this.reportId})
                             if(pushRes.Ret===200){
-                                this.$message.success('推送成功')
+                                this.$message.success(this.$t('ReportManage.smart_msg.push_success'))
                                 setTimeout(() => {
                                     this.$router.go(-1)
                                 }, 1500);
                             }
                         }).catch(()=>{
-                            this.$message.success('发布成功')
+                            this.$message.success(this.$t('MsgPrompt.publish_msg'))
                             setTimeout(() => {
                                 this.$router.go(-1)
                             }, 1500);
@@ -353,7 +353,7 @@ export default {
 
 
                 }else{
-                    this.$message.success('发布成功')
+                    this.$message.success(this.$t('MsgPrompt.publish_msg'))
                     setTimeout(() => {
                         this.$router.go(-1)
                     }, 1500);

+ 74 - 77
src/views/report_manage/editreportNew.vue

@@ -1,10 +1,10 @@
 <template>
 	<div id="editreport">
 		<div 
-			id="leftfroala"
+			id="leftfroala" 
 			:class="{'full':!isRightFormShow,'block':isRightFormShow}"
 			v-loading="importChartNum>0" 
-			element-loading-text="图表批量插入中..."
+			:element-loading-text="$t('ReportManage.ReportList.chart_insertion_progress')"
 			element-loading-spinner="el-icon-loading"
 			element-loading-background="rgba(0, 0, 0, 0.8)"
 		>
@@ -26,7 +26,7 @@
 				"
 			>
 				<div v-show="lastsavetime" style="color: #666; margin-bottom: 15px">
-					最近保存时间:{{ lastsavetime }}
+					{{$t('ReportManage.ReportList.last_save_time')}}:{{ lastsavetime }}
 				</div>
 				<el-button
 					type="primary"
@@ -34,21 +34,21 @@
 					plain
 					@click.native="refreshReport"
 				>
-					一键刷新
+					{{$t('ReportManage.ReportList.click_refresh_btn')}}
 				</el-button>
 				<el-button v-permission="permissionBtn.reportManageBtn.reportManage_reportView"
 					type="primary"
 					size="medium"
 					plain
 					@click.native="clickreportadd('yl')"
-					>预览</el-button
+					>{{$t('ReportManage.ReportList.preview_btn')}}</el-button
 				>
 				<el-button
 					type="primary"
 					size="medium"
 					plain
 					@click.native="clickreportadd('cg')"
-					>存草稿</el-button
+					>{{$t('ReportManage.ReportList.save_draft_btn')}}</el-button
 				>
 				<!--不走审批流-->
 				<template v-if="!isApprove||!hasApproveFlow">
@@ -57,7 +57,7 @@
 						size="medium"
 						:disabled="checkLoading"
 						@click.native="clickreportadd('dsfb')"
-						>定时发布</el-button
+						>{{$t('ReportManage.ReportList.scheduled_publish_btn')}}</el-button
 					>
 					<el-button v-permission="permissionBtn.reportManageBtn.reportManage_publish"
 						type="primary"
@@ -65,13 +65,13 @@
 						:disabled="checkLoading"
 						@click.native="clickreportadd('fb')"
 						:loading="isPublishloading"
-						>发布</el-button
+						>{{$t('ReportManage.ReportList.publish_btn')}}</el-button
 					>
 				</template>
 				<template v-if="isApprove&&hasApproveFlow">
 					<el-button v-permission="permissionBtn.reportManageBtn.reportManage_publish"
 						:disabled="checkLoading"
-						type="primary" size="medium" @click="clickreportadd('submit')">提交</el-button>
+						type="primary" size="medium" @click="clickreportadd('submit')">{{$t('ReportManage.ReportList.submission_btn')}}</el-button>
 				</template>
 			</div>
 			<div
@@ -84,7 +84,7 @@
 				"
 			>
 				<el-tabs v-model="tabsactive">
-					<el-tab-pane :label="tab" :name="tab" v-for="tab in panelTabs" :key="tab"></el-tab-pane>
+					<el-tab-pane :label="tab.label" :name="tab.key" v-for="tab in panelTabs" :key="tab.key"></el-tab-pane>
 				</el-tabs>
 				<div
 					v-if="tabsactive == '基础信息'"
@@ -100,52 +100,51 @@
 						id="login-container"
 						@submit.native.prevent
 					>
-						<el-form-item prop="add_type" label="新增方式">
+						<el-form-item prop="add_type" :label="$t('ReportManage.ReportList.new_method_btn')">
 							<el-select
 								v-model="aeForm.add_type"
 								@change="userclassidreportdetail"
-								placeholder="请选择"
+								:placeholder="$t('ReportManage.CategoryList.please_select')"
 								size="medium"
-								disabled
 								style="width: 270px"
 							>
-								<el-option label="新增报告" :value="1"></el-option>
-								<el-option label="继承报告" :value="2"></el-option>
+								<el-option :label="$t('ReportManage.ReportList.new_report_radio')" :value="1"></el-option>
+								<el-option :label="$t('ReportManage.ReportList.inherit_report_radio')" :value="2"></el-option>
 							</el-select>
 						</el-form-item>
-						<el-form-item prop="classifynameArr" label="分类">
+						<el-form-item prop="classifynameArr" :label="$t('ReportManage.ReportList.classificiation_selest')">
 							<el-cascader
 								@change="userclassidreportdetail"
 								:options="optionsArr"
 								v-model="aeForm.classifynameArr"
-								placeholder="类型筛选"
+								:placeholder="$t('ReportManage.smart_type_filtering')"
 								size="medium"
 								style="width: 270px"
 							></el-cascader>
 						</el-form-item>
-						<el-form-item prop="title" label="标题">
+						<el-form-item prop="title" :label="$t('ReportManage.ReportList.title_ipt')">
 							<el-input
 								type="textarea"
 								:rows="2"
-								placeholder="请输入"
+								:placeholder="$t('ReportManage.CategoryList.please_input')"
 								v-model="aeForm.title"
 								size="medium"
 							></el-input>
 						</el-form-item>
-						<el-form-item label="摘要">
+						<el-form-item :label="$t('ReportManage.ReportList.abstract_ipt')">
 							<el-input
 								type="textarea"
 								:rows="2"
-								placeholder="请输入"
+								:placeholder="$t('ReportManage.CategoryList.please_input')"
 								v-model="aeForm.abstract"
 								size="medium"
 							></el-input>
 						</el-form-item>
-						<el-form-item label="作者">
+						<el-form-item :label="$t('ReportManage.ReportList.author_select')">
 							<el-select
 								v-model="aeForm.author"
 								multiple
-								placeholder="请选择"
+								:placeholder="$t('ReportManage.CategoryList.please_select')"
 								size="medium"
 								style="width: 270px"
 							>
@@ -157,29 +156,29 @@
 								></el-option>
 							</el-select>
 						</el-form-item>
-						<el-form-item label="频度">
+						<el-form-item :label="$t('ReportManage.ReportList.frequency_select')">
 							<el-select
 								v-model="aeForm.frequency"
-								placeholder="请选择"
+								:placeholder="$t('ReportManage.CategoryList.please_select')"
 								size="medium"
 								style="width: 270px"
 							>
-								<el-option label="年度" value="年度"></el-option>
-								<el-option label="半年度" value="半年度"></el-option>
-								<el-option label="季度" value="季度"></el-option>
-								<el-option label="月度" value="月度"></el-option>
-								<el-option label="双周度" value="双周度"></el-option>
-								<el-option label="周度" value="周度"></el-option>
-								<el-option label="日度" value="日度"></el-option>
-								<el-option label="不定时" value="不定时"></el-option>
+							   <el-option :label="$t('ReportManage.smart_annually')" :value="$t('ReportManage.smart_annually')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_semi_annually')" :value="$t('ReportManage.smart_semi_annually')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_quarterly')" :value="$t('ReportManage.smart_quarterly')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_monthly')" :value="$t('ReportManage.smart_monthly')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_bi_weekly')" :value="$t('ReportManage.smart_bi_weekly')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_weekly')" :value="$t('ReportManage.smart_weekly')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_daily')" :value="$t('ReportManage.smart_daily')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_irregularly')" :value="$t('ReportManage.smart_irregularly')"></el-option>
 							</el-select>
 						</el-form-item>
-						<el-form-item label="创建时间">
+						<el-form-item :label="$t('ReportManage.ReportList.creation_time_select')">
 							<el-date-picker
 								v-model="aeForm.create_time"
 								type="date"
 								value-format="yyyy-MM-dd"
-								placeholder="选择日期"
+								:placeholder="$t('ReportManage.ReportList.select_date')"
 								size="medium"
 								:clearable="false"
 								style="width: 270px"
@@ -189,7 +188,7 @@
 				</div>
 				<div v-if="tabsactive == '图表插入'">
 					<el-input
-						placeholder="图表名称"
+						:placeholder="$t('ReportManage.ReportList.chart_name')"
 						v-model="key_word"
 						size="medium"
 						prefix-icon="el-icon-search"
@@ -197,15 +196,15 @@
 					>
 					</el-input>
 					<el-radio-group v-model="chart_source" @change="() => {search_page=1;$refs.chartListRef.scrollTop = 0;getreportlist()}" style="margin-top: 10px;">
-						<el-radio :label="1">ETA图库</el-radio>
-						<el-radio :label="2">商品价格曲线</el-radio> 
-						<el-radio :label="3">相关性图表</el-radio>
-						<el-radio :label="6">拟合方程曲线</el-radio>
-						<el-radio :label="7">统计特征</el-radio>
-						<el-radio :label="10">跨品种分析</el-radio>
+						<el-radio :label="1">{{$t('ReportManage.ReportList.chart_inventory_radio')}}</el-radio>
+						<el-radio :label="2">{{$t('ReportManage.ReportList.price_curve_radio')}}</el-radio> 
+						<el-radio :label="3">{{$t('ReportManage.ReportList.related_charts_radio')}}</el-radio>
+						<el-radio :label="6">{{$t('ReportManage.ReportList.curve_fitting_radio')}}</el-radio>
+						<el-radio :label="7">{{$t('ReportManage.ReportList.statistical_feature_radio')}}</el-radio>
+						<el-radio :label="10">{{$t('ReportManage.ReportList.intercommodity_analysis_radio')}}</el-radio>
 					</el-radio-group>
 					<div style="margin: 10px 0">
-						<el-checkbox v-model="isShowMe" @change="() => {search_page=1;$refs.chartListRef.scrollTop = 0;getreportlist(key_word)}">只看我的</el-checkbox>
+						<el-checkbox v-model="isShowMe" @change="() => {search_page=1;$refs.chartListRef.scrollTop = 0;getreportlist(key_word)}">{{$t('ReportManage.ReportList.just_mine_radio')}}</el-checkbox>
 					</div>
 					<div
 						ref="chartListRef"
@@ -232,13 +231,13 @@
 								/>
 							</div>
 						</template>
-						<tableNoData text="暂无图表" size="mini" v-else/>
+						<tableNoData :text="$t('ReportManage.ReportList.no_chart_table_available')" size="mini" v-else/>
 					</div>
-				</div>
 
+				</div>
 				<div v-if="tabsactive == '沙盘插入'">
 					<el-input
-						placeholder="沙盘名称/品种"
+						:placeholder="$t('ReportManage.ReportList.no_reports_msg')"
 						v-model="sandTabelQuery.Keyword"
 						size="medium"
 						prefix-icon="el-icon-search"
@@ -269,12 +268,12 @@
 								<!-- <p class="source-identification">来源:弘则研究</p> -->
 							</div>
 						</template>
-						<tableNoData text="暂无数据" size="mini" v-else/>
+						<tableNoData :text="$t('Table.prompt_slogan')"  size="mini" v-else/>
 					</div>
 				</div>
 				<div v-if="tabsactive == '表格插入'">
 					<el-input
-						placeholder="表格名称"
+						:placeholder="$t('ReportManage.ReportList.table_name_tabs')"
 						v-model="sheetSearchObj.Keyword"
 						size="medium"
 						prefix-icon="el-icon-search"
@@ -303,7 +302,8 @@
 								/>
 							</div>
 						</template>
-						<tableNoData text="暂无数据" size="mini" v-else/>
+
+						<tableNoData :text="$t('Table.prompt_slogan')" size="mini" v-else/>
 					</div>
 				</div>
 				<div v-if="tabsactive == 'MyETA批量插入'">
@@ -328,23 +328,23 @@
 			:append-to-body="true" 
 			:visible.sync="showDSFB" 
 			width="500px" 
-			title="定时发布"
+			:title="$t('ReportManage.ReportList.scheduled_publish_btn')"
 		>
 			<div>
 				<div>
-					<span>发送时间</span>
+					<span>{{$t('ReportManage.ReportList.publish_time')}}</span>
 					<el-date-picker
 						v-model="taskTime"
 						type="datetime"
-						placeholder="选择日期时间"
+						:placeholder="$t('ReportManage.ReportList.select_date_and_time')"
 						value-format="yyyy-MM-dd HH:mm"
 						:picker-options="timePickerOpt"
 					/>
 				</div>
-				<p style="margin:15px 0">设置成功之后,研报将定时进行发送。</p>
+				<p style="margin:15px 0">{{$t('ReportManage.ReportList.the_report_will_be_posted_on_time')}}</p>
 				<div style="text-align:right;margin:20px 0">
-					<el-button type="primary" plain @click="showDSFB=false">取消</el-button>
-					<el-button type="primary" @click="handleSetReportPrepublish">确定</el-button>
+					<el-button type="primary" plain @click="showDSFB=false">{{$t('Dialog.cancel_btn')}}</el-button>
+					<el-button type="primary" @click="handleSetReportPrepublish">{{$t('Dialog.confirm_btn')}}</el-button>
 				</div>
 			</div>
 		</el-dialog>
@@ -521,7 +521,7 @@ export default {
 			classifyIdDetail(params).then((res) => {
 				if (res.Ret == 200) {
 					if (res.Data == null) {
-						this.$message.error('此分类暂无报告');
+						this.$message.error(this.$t('ReportManage.ReportList.no_reports_msg'));
 						return false;
 					}
 					this.aeForm = {
@@ -609,15 +609,15 @@ export default {
 				!this.aeForm.classifynameArr ||
 				this.aeForm.classifynameArr.length == 0
 			) {
-				this.$message.error('请选择分类');
+				this.$message.error(this.$t('ReportManage.ReportList.please_select_category'));
 				return false;
 			}
 			if (!this.aeForm.title) {
-				this.$message.error('请输入标题');
+				this.$message.error(this.$t('ReportManage.ReportList.input_title_please'));
 				return false;
 			}
 			if(!this.autoSaveFlag){
-				this.$message.error('有图片未上传完成,请稍等')
+				this.$message.error(this.$t('ReportManage.smart_msg.img_wait'))
 				return false
 			}
 			//如果富文本中有未上传完成的图片,去除这个dom
@@ -680,10 +680,10 @@ export default {
 					this.isMessagePost = false; 
 					this.reporteditMsg(params,tp)
 				}else if(isPost){
-					this.$confirm('发布后,是否推送模板消息和客户群?', '发布提示', {
-						    confirmButtonText: '推送',
-						    cancelButtonText: '不推送',
-						    type: 'warning',
+					this.$confirm(this.$t('ReportManage.smart_msg.publishing_messages'), this.$t('ReportManage.smart_release_prompt_btn'), {
+								confirmButtonText: this.$t('ReportManage.smart_btn.push'),
+								cancelButtonText: this.$t('ReportManage.smart_btn.not_push'),
+								type: 'warning',
 						    distinguishCancelAndClose:true,
 						    beforeClose:(action, instance,done)=>{
 						        console.log(action, instance);
@@ -739,17 +739,14 @@ export default {
 		// 定时发布报告
 		handleSetReportPrepublish(){
 			if(!this.taskTime){
-				this.$message.warning('请选择定时发布的时间')
+				this.$message.warning(this.$t('ReportManage.smart_msg.select_push_time'))
 				return
 			}
 			const now=this.$moment().format('YYYY-MM-DD HH:mm:ss')
-			console.log(now);
-			console.log(this.taskTime);
 			if(this.$moment(this.taskTime).isBefore(now,'second')){
-				this.$message.warning('定时发布不得早于当前时间')
+				this.$message.warning(this.$t('ReportManage.smart_msg.than_current_time'))
 				return
 			}
-			console.log('定时去发布了');
 			// 如果改报告已经推送过模板消息
 			if(this.ThsMsgIsSend==1){
 				reportSetPrepublish({
@@ -758,7 +755,7 @@ export default {
 					PreMsgSend:0,
 				}).then(res=>{
 					if(res.Ret===200){
-						this.$message.success('定时发布成功!')
+						this.$message.success(this.$t('ReportManage.smart_msg.timed_success'))
 						this.$router.push({ path: '/reportlist' });
 					}
 				})
@@ -766,9 +763,9 @@ export default {
 			}
 			const isPost = this.permissionBtn.checkPermissionBtn(this.permissionBtn.reportManageBtn.reportManage_sendMsg)
 
-			this.$confirm(isPost?'是否发布定时报告,并推送模板消息?':'是否发布定时报告?', '发布提示', {
-				confirmButtonText: isPost?'推送':'发布',
-				cancelButtonText: isPost?'不推送':'取消',
+			this.$confirm(isPost?this.$t('ReportManage.smart_msg.push_report_msg'):this.$t('ReportManage.smart_msg.is_push_timed'), this.$t('ReportManage.ReportList.smart_release_prompt_btn'), {
+				confirmButtonText: isPost?this.$t('ReportManage.smart_btn.push'):this.$t('ReportManage.smart_btn.publish'),
+				cancelButtonText: isPost?this.$t('ReportManage.smart_btn.not_push'):this.$t('Dialog.cancel_btn'),
 				type: 'warning',
 				distinguishCancelAndClose:true,
 				beforeClose:(action, instance,done)=>{
@@ -782,7 +779,7 @@ export default {
 								PreMsgSend:0,
 							}).then(res=>{
 								if(res.Ret===200){
-									this.$message.success('定时发布成功!')
+									this.$message.success(this.$t('ReportManage.smart_msg.timed_success'))
 									this.$router.push({ path: '/reportlist' });
 								}
 							})
@@ -795,7 +792,7 @@ export default {
 							PreMsgSend:isPost?1:0,
 						}).then(res=>{
 							if(res.Ret===200){
-								this.$message.success('定时发布成功!')
+								this.$message.success(this.$t('ReportManage.smart_msg.timed_success'))
 								this.$router.push({ path: '/reportlist' });
 							}
 						})
@@ -859,9 +856,9 @@ export default {
 					this.sandTableList = List
 					this.sandTableTotal = Paging.Totals
 					if(this.sandTableList.length ==0){
-						this.loadedText = '暂无数据'
+						this.loadedText = this.$t('Table.prompt_slogan')
 					}else if(this.sandTableList.length>=this.sandTableTotal){
-						this.loadedText='已全部加载完'
+						this.loadedText= this.$t('ReportManage.smart_msg.all_loaded_have')
 					}else{
 
 					}
@@ -875,7 +872,7 @@ export default {
 		// 沙盘列表滚动事件,触底加载下一页数据 防抖
 		sandTableHandleScroll:_.debounce(function (e) {
 			if(this.sandTableList.length>=this.sandTableTotal){
-				this.loadedText = '已全部加载完'
+				this.loadedText = this.$t('ReportManage.smart_msg.all_loaded_have')
 				return
 			}
 			if(e.target.scrollHeight-e.target.clientHeight-e.target.scrollTop<10 && !this.isRequesting){

+ 13 - 9
src/views/report_manage/mixins/reportMixin.js

@@ -164,15 +164,6 @@ export default {
         ischange: false,
         isPublishloading: false,
       },
-      panelTabs: [
-        "基础信息",
-        "图表插入",
-        "MyETA批量插入",
-        "表格插入",
-        "沙盘插入",
-        "语义分析插入"
-      ],
-
       sheetSearchObj: {},
       sheetSearchList: [],
 
@@ -557,4 +548,17 @@ export default {
       this.getreportlist(this.key_word);
     },
   },
+
+  computed:{
+    panelTabs(){
+    return [
+        {key: "基础信息",label:this.$t('ReportManage.ReportList.information_title')},
+        {key: "图表插入",label:this.$t('ReportManage.ReportList.insert_chart_tabs')},
+        {key: "MyETA批量插入",label:this.$t('ReportManage.ReportList.bulk_insertion_tabs')},
+        {key: "表格插入",label:this.$t('ReportManage.ReportList.insert_table_tabs')},
+        {key: "沙盘插入",label:this.$t('ReportManage.ReportList.insert_sandbox_tabs')},
+        {key: "语义分析插入",label:this.$t('ReportManage.ReportList.semantic_analysis_tabs')},
+       ]
+    },
+  }
 };

+ 68 - 68
src/views/report_manage/reportEn/reportEditor.vue

@@ -16,7 +16,7 @@
       <div 
         id="leftfroala"
         v-loading="importChartNum>0" 
-        element-loading-text="图表批量插入中..."
+        :element-loading-text="$t('ReportManage.ReportList.chart_insertion_progress')"
         element-loading-spinner="el-icon-loading"
         element-loading-background="rgba(0, 0, 0, 0.8)"
 		  >
@@ -39,7 +39,7 @@
 				"
 			>
 				<div v-show="lastsavetime" style="color: #666; margin-bottom: 15px">
-					最近保存时间:{{ lastsavetime }}
+					{{$t('ReportManage.ReportList.last_save_time')}}:{{ lastsavetime }}
 				</div>
 				<el-button
 					type="primary"
@@ -47,21 +47,21 @@
 					plain
 					@click.native="refreshReport"
 				>
-					一键刷新
+					{{$t('ReportManage.ReportList.click_refresh_btn')}}
 				</el-button>
 				<el-button v-permission="permissionBtn.enReportManageBtn.enReport_reportView"
 					type="primary"
 					size="medium"
 					plain
 					@click.native="clickreportadd('yl')"
-					>预览</el-button
+					>{{$t('ReportManage.ReportList.preview_btn')}}</el-button
 				>
 				<el-button
 					type="primary"
 					size="medium"
 					plain
 					@click.native="clickreportadd('cg')"
-					>存草稿</el-button
+					>{{$t('ReportManage.ReportList.save_draft_btn')}}</el-button
 				>
 				<template v-if="!isApprove||!hasApproveFlow">
 					<el-button v-permission="permissionBtn.enReportManageBtn.enReport_publish"
@@ -69,7 +69,7 @@
 						size="medium"
 						:disabled="checkLoading"
 						@click.native="clickreportadd('dsfb')"
-						>定时发布</el-button
+						>{{$t('ReportManage.ReportList.scheduled_publish_btn')}}</el-button
 					>
 					<el-button v-permission="permissionBtn.enReportManageBtn.enReport_publish"
 						type="primary"
@@ -77,20 +77,20 @@
 						:disabled="checkLoading"
 						@click.native="clickreportadd('fb')"
 						:loading="isPublishloading"
-						>发布</el-button
+						>{{$t('ReportManage.ReportList.publish_btn')}}</el-button
 					>
 				</template>
 				<template v-if="isApprove&&hasApproveFlow">
 					<el-button v-permission="permissionBtn.enReportManageBtn.enReport_publish"
 						:disabled="checkLoading"
-						type="primary" size="medium" @click="clickreportadd('submit')">提交</el-button>
+						type="primary" size="medium" @click="clickreportadd('submit')">{{$t('ReportManage.ReportList.submission_btn')}}</el-button>
 				</template>
 			</div>
 			<div
 				style="margin: 0px 0 0 20px;padding: 10px 20px;box-sizing: border-box;background: #fff;border: 1px solid #3464e0;"
 			>
 				<el-tabs v-model="tabsactive">
-					<el-tab-pane :label="tab" :name="tab" v-for="tab in panelTabs" :key="tab"></el-tab-pane>
+					<el-tab-pane :label="tab.label" :name="tab.key" v-for="tab in panelTabs" :key="tab.key"></el-tab-pane>
 				</el-tabs>
 				<div
 					v-if="tabsactive == '基础信息'"
@@ -106,20 +106,20 @@
 						id="login-container"
 						@submit.native.prevent
 					>
-						<el-form-item prop="add_type" label="新增方式">
+						<el-form-item prop="add_type" :label="$t('ReportManage.ReportList.new_method_btn')">
 							<el-select
 								v-model="aeForm.add_type"
 								@change="userclassidreportdetail"
-								placeholder="请选择"
+								:placeholder="$t('ReportManage.CategoryList.please_select')"
 								size="medium"
 								:disabled="report_id?true:false"
 								style="width: 270px"
 							>
-								<el-option label="新增报告" :value="1"></el-option>
-								<el-option label="继承报告" :value="2"></el-option>
+								<el-option :label="$t('ReportManage.ReportList.new_report_radio')" :value="1"></el-option>
+								<el-option :label="$t('ReportManage.ReportList.inherit_report_radio')" :value="2"></el-option>
 							</el-select>
 						</el-form-item>
-						<el-form-item prop="classifynameArr" label="分类">
+						<el-form-item prop="classifynameArr" :label="$t('ReportManage.ReportList.classificiation_selest')">
 							<el-cascader
 								@change="userclassidreportdetail"
 								:options="optionsArr"
@@ -127,16 +127,16 @@
 									children:'Child'
 								}"
 								v-model="aeForm.classifynameArr"
-								placeholder="类型筛选"
+								:placeholder="$t('ReportManage.smart_type_filtering')"
 								size="medium"
 								style="width: 270px"
 							></el-cascader>
 						</el-form-item>
-						<el-form-item prop="title" label="标题">
+						<el-form-item prop="title" :label="$t('ReportManage.ReportList.title_ipt')">
 							<el-input
 								type="textarea"
 								:rows="2"
-								placeholder="请输入"
+								:placeholder="$t('ReportManage.CategoryList.please_input')"
 								v-model="aeForm.title"
 								size="medium"
 							></el-input>
@@ -145,17 +145,17 @@
 							<el-input
 								type="textarea"
 								:rows="2"
-								placeholder="请输入"
+								:placeholder="$t('ReportManage.CategoryList.please_input')"
 								v-model="aeForm.abstract"
 								size="medium"
 							></el-input>
               <span class="limit">{{aeForm.abstract.length}}</span>
 						</el-form-item>
-						<el-form-item label="作者">
+						<el-form-item :label="$t('ReportManage.ReportList.author_select')">
 							<el-select
 								v-model="aeForm.author"
 								multiple
-								placeholder="请选择"
+								:placeholder="$t('ReportManage.CategoryList.please_select')"
 								size="medium"
 								style="width: 270px"
 							>
@@ -167,29 +167,29 @@
 								></el-option>
 							</el-select>
 						</el-form-item>
-						<el-form-item label="频度">
+						<el-form-item :label="$t('ReportManage.ReportList.frequency_select')">
 							<el-select
 								v-model="aeForm.frequency"
-								placeholder="请选择"
+								:placeholder="$t('ReportManage.CategoryList.please_select')"
 								size="medium"
 								style="width: 270px"
 							> 
-								<el-option label="年度" value="年度"></el-option>
-								<el-option label="半年度" value="半年度"></el-option>
-								<el-option label="季度" value="季度"></el-option>
-								<el-option label="月度" value="月度"></el-option>
-								<el-option label="双周度" value="双周度"></el-option>
-								<el-option label="周度" value="周度"></el-option>
-								<el-option label="日度" value="日度"></el-option>
-								<el-option label="不定时" value="不定时"></el-option>
+							   <el-option :label="$t('ReportManage.smart_annually')" :value="$t('ReportManage.smart_annually')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_semi_annually')" :value="$t('ReportManage.smart_semi_annually')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_quarterly')" :value="$t('ReportManage.smart_quarterly')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_monthly')" :value="$t('ReportManage.smart_monthly')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_bi_weekly')" :value="$t('ReportManage.smart_bi_weekly')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_weekly')" :value="$t('ReportManage.smart_weekly')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_daily')" :value="$t('ReportManage.smart_daily')"></el-option>
+                               <el-option :label="$t('ReportManage.smart_irregularly')" :value="$t('ReportManage.smart_irregularly')"></el-option>
 							</el-select>
 						</el-form-item>
-						<el-form-item label="创建时间">
+						<el-form-item :label="$t('ReportManage.ReportList.creation_time_select')">
 							<el-date-picker
 								v-model="aeForm.create_time"
 								type="date"
 								value-format="yyyy-MM-dd"
-								placeholder="选择日期"
+								:placeholder="$t('ReportManage.ReportList.select_date')"
 								size="medium"
 								:clearable="false"
 								style="width: 270px"
@@ -199,7 +199,7 @@
 				</div>
 				<div v-if="tabsactive == '图表插入'">
 					<el-input
-						placeholder="图表名称"
+						:placeholder="$t('ReportManage.ReportList.chart_name')"
 						v-model="key_word"
 						size="medium"
 						prefix-icon="el-icon-search"
@@ -207,12 +207,12 @@
 					>
 					</el-input>
 					<el-radio-group v-model="chart_source" @change="() => {search_page=1;$refs.chartListRef.scrollTop = 0;getreportlist()}" style="margin-top: 10px;">
-						<el-radio :label="1">ETA图库</el-radio>
-						<el-radio :label="2">商品价格曲线</el-radio> 
-						<el-radio :label="3">相关性图表</el-radio> 
-						<el-radio :label="6">拟合方程曲线</el-radio>
-						<el-radio :label="7">统计特征</el-radio>
-						<el-radio :label="10">跨品种分析</el-radio>
+						<el-radio :label="1">{{$t('ReportManage.ReportList.chart_inventory_radio')}}</el-radio>
+						<el-radio :label="2">{{$t('ReportManage.ReportList.price_curve_radio')}}</el-radio> 
+						<el-radio :label="3">{{$t('ReportManage.ReportList.related_charts_radio')}}</el-radio>
+						<el-radio :label="6">{{$t('ReportManage.ReportList.curve_fitting_radio')}}</el-radio>
+						<el-radio :label="7">{{$t('ReportManage.ReportList.statistical_feature_radio')}}</el-radio>
+						<el-radio :label="10">{{$t('ReportManage.ReportList.intercommodity_analysis_radio')}}</el-radio>
 					</el-radio-group>
 					<div style="margin: 10px 0">
 						<el-checkbox v-model="isShowMe" @change="() => {search_page=1;$refs.chartListRef.scrollTop = 0;getreportlist(key_word)}">只看我的</el-checkbox>
@@ -247,7 +247,7 @@
 				</div>
 				<div v-if="tabsactive == '沙盘插入'">
 					<el-input
-						placeholder="沙盘名称/品种"
+						:placeholder="$t('ReportManage.ReportList.no_reports_msg')"
 						v-model="sandTabelQuery.Keyword"
 						size="medium"
 						prefix-icon="el-icon-search"
@@ -278,12 +278,12 @@
 								<!-- <p class="source-identification">来源:弘则研究</p> -->
 							</div>
 						</template>
-						<tableNoData text="暂无数据" size="mini" v-else/>
+						<tableNoData :text="$t('Table.prompt_slogan')" size="mini" v-else/>
 					</div>
 				</div>
 				<div v-if="tabsactive == '表格插入'">
 					<el-input
-						placeholder="表格名称"
+						:placeholder="$t('ReportManage.ReportList.table_name_tabs')"
 						v-model="sheetSearchObj.Keyword"
 						size="medium"
 						prefix-icon="el-icon-search"
@@ -312,7 +312,7 @@
 								/>
 							</div>
 						</template>
-						<tableNoData text="暂无数据" size="mini" v-else/>
+						<tableNoData :text="$t('Table.prompt_slogan')" size="mini" v-else/>
 					</div>
 				</div>
 				<div v-if="tabsactive == 'MyETA批量插入'">
@@ -348,23 +348,23 @@
 			:append-to-body="true" 
 			:visible.sync="showDSFB" 
 			width="500px" 
-			title="定时发布"
+		    :title="$t('ReportManage.ReportList.scheduled_publish_btn')"
 		>
 			<div>
 				<div>
-					<span>发送时间</span>
+					<span>{{$t('ReportManage.ReportList.publish_time')}}</span>
 					<el-date-picker
 						v-model="taskTime"
 						type="datetime"
-						placeholder="选择日期时间"
+						:placeholder="$t('ReportManage.ReportList.select_date_and_time')"
 						value-format="yyyy-MM-dd HH:mm"
 						:picker-options="timePickerOpt"
 					/>
 				</div>
-				<p style="margin:15px 0">设置成功之后,研报将定时进行发送。</p>
+				<p style="margin:15px 0">{{$t('ReportManage.ReportList.the_report_will_be_posted_on_time')}}</p>
 				<div style="text-align:right;margin:20px 0">
-					<el-button type="primary" plain @click="showDSFB=false">取消</el-button>
-					<el-button type="primary" @click="handleConfirmDSFB">确定</el-button>
+					<el-button type="primary" plain @click="showDSFB=false">{{$t('Dialog.cancel_btn')}}</el-button>
+					<el-button type="primary" @click="handleConfirmDSFB">{{$t('Dialog.confirm_btn')}}</el-button>
 				</div>
 			</div>
 		</el-dialog>
@@ -616,7 +616,7 @@ export default {
 			reportEnInterface.reportDetailByclassify(params).then((res) => {
 				if (res.Ret == 200) {
 					if (res.Data == null) {
-						this.$message.error('此分类暂无报告');
+						this.$message.error(this.$t('ReportManage.ReportList.no_reports_msg'));
 						return false;
 					}
 					this.aeForm = {
@@ -641,7 +641,7 @@ export default {
 						frequency: res.Data.Frequency,
 						create_time: res.Data.CreateTime,
 						content: res.Data.Content,
-            overview:res.Data.Overview||''
+            			overview:res.Data.Overview||''
 					};
 				}
 			});
@@ -699,27 +699,27 @@ export default {
 				!this.aeForm.classifynameArr ||
 				this.aeForm.classifynameArr.length == 0
 			) {
-				this.$message.warning('请选择分类');
+				this.$message.warning(this.$t('ReportManage.ReportList.please_select_category'));
 				return false;
 			}
 			if (!this.aeForm.title) {
-				this.$message.warning('请输入标题');
+				this.$message.warning(this.$t('ReportManage.ReportList.input_title_please'));
 				return false;
 			}
 			if(!this.aeForm.overview){
-				this.$message.warning('请输入overview')
+				this.$message.warning(this.$t('ReportManage.smart_msg.please_enter')+'overview')
 				return false;
 			}
 			if(!this.aeForm.content){
-				this.$message.warning('请输入content')
+				this.$message.warning(this.$t('ReportManage.smart_msg.please_enter')+'content')
 				return false;
 			}
 			if(!this.aeForm.abstract){
-				this.$message.warning('请输入摘要')
+				this.$message.warning(this.$t('ReportManage.ReportList.please_input_abstract'))
 				return false;
 			}
 			if(!this.autoSaveFlag){
-				this.$message.error('有图片未上传完成,请稍等')
+				this.$message.error(this.$t('ReportManage.smart_msg.img_wait'))
 				return false
 			}
 			//如果富文本中有未上传完成的图片,去除这个dom
@@ -766,7 +766,7 @@ export default {
 					});
 					window.open(href, "_blank");
 				} else if (tp === "fb") {
-					this.$confirm('是否确定立即发布报告?','提示',{type: 'warning'}).then(()=>{
+					this.$confirm(this.$t('ReportManage.smart_msg.report_publish_immediately'),this.$t('Confirm.prompt'),{type: 'warning'}).then(()=>{
 						this.publishreport(this.report_id);
 					})
 				}else if(tp==='dsfb'){
@@ -788,16 +788,16 @@ export default {
 			// }
 		},
 		submitReport(){
-			this.$confirm("是否确认提交该报告进入审批流程?","提示",{
-				confirmButtonText:'确定',
-				cancelButtonText:'取消',
+			this.$confirm(this.$t('ReportManage.smart_msg.submit_approval'),this.$t('Confirm.prompt'),{
+				confirmButtonText: this.$t('Dialog.confirm_btn'),
+                cancelButtonText: this.$t('Dialog.cancel_btn'),
 				type:'warning',
 			}).then(()=>{
 				approveInterence.reportEnSubmit({
 					ReportId:Number(this.report_id)
 				}).then(res=>{
 					if(res.Ret!==200) return
-					this.$message.success("提交成功")
+					this.$message.success(this.$t('ReportManage.smart_msg.submit_success'))
 					this.$router.push({ path: '/reportEnList' });
 				})
 			})
@@ -815,14 +815,14 @@ export default {
 		//定时发布报告
 		handleConfirmDSFB(){
 			if(!this.taskTime){
-				this.$message.warning('请选择定时发布的时间')
+				this.$message.warning(this.$t('ReportManage.smart_msg.select_push_time'))
 				return
 			}
 			const now=this.$moment().format('YYYY-MM-DD HH:mm:ss')
 			console.log(now);
 			console.log(this.taskTime);
 			if(this.$moment(this.taskTime).isBefore(now,'second')){
-				this.$message.warning('定时发布不得早于当前时间')
+				this.$message.warning(this.$t('ReportManage.smart_msg.than_current_time'))
 				return
 			}
 			reportEnInterface.enReportPrepblish({
@@ -830,7 +830,7 @@ export default {
 				PrePublishTime:this.taskTime
 			}).then(res=>{
 				if(res.Ret===200){
-					this.$message.success('定时发布成功!')
+					this.$message.success(this.$t('ReportManage.smart_msg.timed_success'))
 					this.$router.push({ path: '/reportEnList' });
 				}
 			})
@@ -892,9 +892,9 @@ export default {
 					this.sandTableList = List
 					this.sandTableTotal = Paging.Totals
 					if(this.sandTableList.length ==0){
-						this.loadedText = '暂无数据'
+						this.loadedText = this.$t('Table.prompt_slogan')
 					}else if(this.sandTableList.length>=this.sandTableTotal){
-						this.loadedText='已全部加载完'
+						this.loadedText=this.$t('ReportManage.smart_msg.all_loaded_have')
 					}else{
 
 					}
@@ -908,7 +908,7 @@ export default {
 		// 沙盘列表滚动事件,触底加载下一页数据 防抖
 		sandTableHandleScroll:_.debounce(function (e) {
 			if(this.sandTableList.length>=this.sandTableTotal){
-				this.loadedText = '已全部加载完'
+				this.loadedText = this.$t('ReportManage.smart_msg.all_loaded_have')
 				return
 			}
 			if(e.target.scrollHeight-e.target.clientHeight-e.target.scrollTop<10 && !this.isRequesting){

+ 2 - 2
src/views/smartReport/components/ETAChart.vue

@@ -2,13 +2,13 @@
     <div class="eta-chart-wrap">
         <div class="top-box">
             <div class="left-card">
-                <span :class="['item',activeType==='ETA图库'?'active':'']" @click="activeTypeChange('ETA图库')">ETA图库</span>
+                <span :class="['item',activeType==='ETA图库'?'active':'']" @click="activeTypeChange('ETA图库')">{{$t('ReportManage.ReportList.chart_inventory_radio')}}</span>
                 <span :class="['item',activeType==='MyETA'?'active':'']" @click="activeTypeChange('MyETA')">MyETA</span>
             </div>
             <div class="right">
                 <el-input
                     class="search-box"
-					placeholder="图表名称"
+					:placeholder="$t('ReportManage.ReportList.chart_name')"
 					v-model="keyword"
 					size="medium"
 					prefix-icon="el-icon-search"

+ 3 - 3
src/views/smartReport/components/ETAPriceChart.vue

@@ -2,7 +2,7 @@
     <div class="statistic-analysis-wrap">
         <div class="top-box">
             <div class="left-card">
-                <span>商品价格曲线</span>
+                <span>{{$t('ReportManage.ReportList.price_curve_radio')}}</span>
             </div>
             <div class="right">
                 <el-input
@@ -20,7 +20,7 @@
                 class="onlyshowme-box"
                 v-model="isShowMe" 
                 @change="handleIsShowMeChange"
-            >只看我的</el-checkbox>
+            >{{$t('ReportManage.ReportList.just_mine_radio')}}</el-checkbox>
             <div class="list-wrap" v-infinite-scroll="handleLoadMore" :infinite-scroll-immediate="true">
                 <draggable
                     :list="list"
@@ -35,7 +35,7 @@
                         <div class="img" :style="'backgroundImage:url('+item.ChartImage+')'"></div>
                     </div>
                 </draggable>
-                <tableNoData text="暂无图表" size="mini" v-if="list.length===0&&finished"/>
+                <tableNoData :text="$t('ReportManage.ReportList.no_chart_table_available')" size="mini" v-if="list.length===0&&finished"/>
             </div>
         </div>
     </div>

+ 3 - 3
src/views/smartReport/components/ETASandBox.vue

@@ -2,12 +2,12 @@
     <div class="statistic-analysis-wrap">
         <div class="top-box">
             <div class="left-card">
-                <span>沙盘图</span>
+                <span>{{$t('ReportManage.ReportList.sandbox_top_type')}}</span>
             </div>
             <div class="right">
                 <el-input
                     class="search-box"
-					placeholder="沙盘名称/品种"
+					:placeholder="$t('ReportManage.ReportList.no_reports_msg')"
 					v-model="keyword"
 					size="medium"
 					prefix-icon="el-icon-search"
@@ -30,7 +30,7 @@
                         <div class="img" :style="'backgroundImage:url('+item.PicUrl+')'"></div>
                     </div>
                 </draggable>
-                <tableNoData text="暂无数据" size="mini" v-if="list.length===0&&finished"/>
+                <tableNoData :text="$t('Table.prompt_slogan')" size="mini" v-if="list.length===0&&finished"/>
             </div>
         </div>
     </div>

+ 3 - 3
src/views/smartReport/components/ETASheet.vue

@@ -1,10 +1,10 @@
 <template>
     <div class="eta-sheet-wrap">
         <div class="top-box">
-            <span>ETA表格</span>
+            <span>{{$t('ReportManage.ReportList.eta_top_type')}}</span>
             <el-input
                 class="search-box"
-				placeholder="表格名称"
+				:placeholder="$t('ReportManage.ReportList.table_name_tabs')"
 				v-model="keyword"
 				size="medium"
 				prefix-icon="el-icon-search"
@@ -26,7 +26,7 @@
                     <div class="img" :style="'backgroundImage:url('+item.ExcelImage+')'"></div>
                 </div>
             </draggable>
-            <tableNoData text="暂无数据" size="mini" v-if="list.length===0"/>
+            <tableNoData :text="$t('Table.prompt_slogan')" size="mini" v-if="list.length===0"/>
             </div>
         </div>
     </div>

+ 4 - 4
src/views/smartReport/components/ImgEdit.vue

@@ -1,12 +1,12 @@
 <template>
     <div class="img-edit-wrap" @paste="handleListenPaste">
-        <div style="font-size:16px;margin-bottom:20px">图片上传</div>
+        <div style="font-size:16px;margin-bottom:20px">{{$t('ReportManage.ReportList.img_uplaod_title')}}</div>
         <div class="main-box">
             <input type="file" size="small" name="file" @change="fileSelected" id="file" class="true-file" style="display:none;">
             <div class="upload-box" @click="clickinput">
                 <img class="bg" :src="content" alt="" v-if="content">
                 <img src="~@/assets/img/smartReport/icon15.png" alt="">
-                <div>点击上传图片</div>
+                <div>{{$t('ReportManage.ReportList.click_img_upload')}}</div>
             </div>
         </div>
     </div>
@@ -36,7 +36,7 @@ export default {
 		    if( hostfile ){
 		        let size = Math.floor(hostfile.size / 1024 / 1024);
 		        if( size>200 ){
-		            that.$message.warning('上传文件大小不能大于200M!');
+		            that.$message.warning(this.$t('ReportManage.smart_msg.uploaded_limitation'));
 		            hostfile = {};
 		            return false
 		        }
@@ -52,7 +52,7 @@ export default {
 						hostfile = {};
 					});
 				}else{
-					that.$message.warning('上传文件格式不正确!');
+					that.$message.warning(this.$t('ReportManage.smart_msg.upload_format'));
 		        }
 		    } 
 		},

+ 9 - 9
src/views/smartReport/components/ImgSource.vue

@@ -2,20 +2,20 @@
     <div class="statistic-analysis-wrap">
         <div class="top-box">
             <div class="left-card">
-                <span>选择图片</span>
+                <span>{{$t('ReportManage.ReportList.select_img_card')}}</span>
             </div>
             <div class="right">
                 <el-input
                     class="search-box"
-					placeholder="请输入图片名称"
+					:placeholder="$t('ReportManage.ReportList.img_name_ipt')"
 					v-model="keyword"
 					size="medium"
                     @input="handleSearch"
                     style="width:240px"
 				/>
-                <el-select placeholder="请选择图片类型" v-model="type" style="width:240px" @change="handleSearch">
-                    <el-option label="版头" :value="1"></el-option>
-                    <el-option label="版尾" :value="2"></el-option>
+                <el-select :placeholder="$t('ReportManage.ReportList.select_img_type')" v-model="type" style="width:240px" @change="handleSearch">
+                    <el-option :label="$t('ReportManage.ReportList.page_header_op')" :value="1"></el-option>
+                    <el-option :label="$t('ReportManage.ReportList.page_trailer_op')" :value="2"></el-option>
                 </el-select>
             </div>
         </div>
@@ -28,7 +28,7 @@
                 </el-radio-group>
             </div> -->
             <div style="flex:1;overflow-y: auto;padding:20px 0">
-            <tableNoData text="暂无数据" size="mini" v-if="list.length===0&&finished"/>
+            <tableNoData :text="$t('Table.prompt_slogan')" size="mini" v-if="list.length===0&&finished"/>
             <div class="list-wrap" v-infinite-scroll="handleLoadMore" :infinite-scroll-immediate="false">
                 <div 
                     :class="['item',selectItem&&selectItem.ResourceId===item.ResourceId?'active':'']" 
@@ -42,8 +42,8 @@
             </div>
             </div>
             <div class="btns-box">
-                <el-button type="primary" plain @click="handleClose">取消</el-button>
-                <el-button type="primary" @click="handleSave">保存</el-button>
+                <el-button type="primary" plain @click="handleClose">{{$t('Dialog.cancel_btn')}}</el-button>
+                <el-button type="primary" @click="handleSave">{{$t('Dialog.confirm_save_btn')}}</el-button>
             </div>
         </div>
     </div>
@@ -113,7 +113,7 @@ export default {
             //     return
             // }
             if(!this.selectItem){
-                this.$message.warning('请选择版图')
+                this.$message.warning(this.$t('ReportManage.ReportList.select_layout_msg'))
                 return
             }
             this.$emit('change',{

+ 2 - 2
src/views/smartReport/components/ImportETAChart.vue

@@ -4,7 +4,7 @@
                 class="onlyshowme-box"
                 v-model="isShowMe" 
                 @change="handleIsShowMeChange"
-            >只看我的</el-checkbox>
+            >{{$t('ReportManage.ReportList.just_mine_radio')}}</el-checkbox>
             <draggable
                 :list="list"
                 :group="{ name: 'component', pull: 'clone', put: false }"
@@ -18,7 +18,7 @@
                     <div class="img" :style="'backgroundImage:url('+item.ChartImage+')'"></div>
                 </div>
             </draggable>
-            <tableNoData text="暂无图表" size="mini" v-if="list.length===0"/>
+            <tableNoData :text="$t('ReportManage.ReportList.no_chart_table_available')" size="mini" v-if="list.length===0"/>
     </div>
 </template>
 

+ 7 - 7
src/views/smartReport/components/ImportMyETAChart.vue

@@ -5,7 +5,7 @@
 				style="width:300px" 
 				v-model="selectMyChartClassify" 
 				filterable 
-				placeholder="图分类名称"
+				:placeholder="$t('ReportManage.ReportList.chart_category_name')"
 				@change="handleChange"
 			>
 				<el-option
@@ -16,8 +16,8 @@
 				>
 				</el-option>
 			</el-select>
-			<el-button type="primary" @click="handleImport">一键导入</el-button>
-			<el-tooltip class="item" effect="dark" content="该操作将批量导入所选图分类下所有图表" placement="top-start">
+			<el-button type="primary" @click="handleImport">{{$t('ReportManage.ReportList.click_import')}}</el-button>
+			<el-tooltip class="item" effect="dark" :content="$t('ReportManage.ReportList.import_all_chart_msg')" placement="top-start">
 				<i style="font-size:24px;color: #666;" class="el-icon-question"></i>
 			</el-tooltip>
 		</div>
@@ -27,7 +27,7 @@
                 <div class="img" :style="'backgroundImage:url('+item.ChartImage+')'"></div>
             </div>
 		</div>
-        <tableNoData text="无数据" size="mini" v-if="list.length===0"/>
+        <tableNoData :text="$t('Table.prompt_slogan')" size="mini" v-if="list.length===0"/>
     </div>
 </template>
 
@@ -97,11 +97,11 @@ export default {
 
         handleImport:_.throttle(function(){
             if(!this.selectMyChartClassify){
-                this.$message.warning('请选择分类')
+                this.$message.warning(this.$t('ReportManage.ReportList.please_select_category'))
                 return
             }
             if(this.list.length==0){
-                this.$message.warning('该分类无图表')
+                this.$message.warning(this.$t('ReportManage.ReportList.no_chart_msg'))
                 return
             }
             this.$emit('handleImportMyChart',this.list)
@@ -115,7 +115,7 @@ export default {
         },1000),
 
         handleClickItem(){
-            this.$message.warning('此处不支持单个插入图表')
+            this.$message.warning(this.$t('ReportManage.ReportList.no_one_charts'))
         }
     },
 }

+ 3 - 3
src/views/smartReport/components/SemanticAnalysis.vue

@@ -2,12 +2,12 @@
     <div class="statistic-analysis-wrap">
         <div class="top-box">
             <div class="left-card">
-                <span>语义分析</span>
+                <span>{{$t('ReportManage.ReportList.semantic_top_type')}}</span>
             </div>
             <div class="right">
                 <el-input
                     class="search-box"
-					placeholder="关键词搜索"
+					:placeholder="$t('ReportManage.ReportList.keyword_search')"
 					v-model="keyword"
 					size="medium"
 					prefix-icon="el-icon-search"
@@ -30,7 +30,7 @@
                         <div class="img" :style="'backgroundImage:url('+item.ResultImg+')'"></div>
                     </div>
                 </draggable>
-                <tableNoData text="暂无数据" size="mini" v-if="list.length===0&&finished"/>
+                <tableNoData :text="$t('Table.prompt_slogan')" size="mini" v-if="list.length===0&&finished"/>
             </div>
         </div>
     </div>

+ 26 - 21
src/views/smartReport/components/StatisticAnalysis.vue

@@ -12,7 +12,7 @@
             <div class="right">
                 <el-input
                     class="search-box"
-					placeholder="图表名称"
+					:placeholder="$t('ReportManage.ReportList.chart_name')"
 					v-model="keyword"
 					size="medium"
 					prefix-icon="el-icon-search"
@@ -25,7 +25,7 @@
                 class="onlyshowme-box"
                 v-model="isShowMe" 
                 @change="handleIsShowMeChange"
-            >只看我的</el-checkbox>
+            >{{$t('ReportManage.ReportList.just_mine_radio')}}</el-checkbox>
             <div class="list-wrap" v-infinite-scroll="handleLoadMore" :infinite-scroll-immediate="true">
                 <draggable
                     :list="list"
@@ -40,7 +40,7 @@
                         <div class="img" :style="'backgroundImage:url('+item.ChartImage+')'"></div>
                     </div>
                 </draggable>
-                <tableNoData text="暂无图表" size="mini" v-if="list.length===0&&finished"/>
+                <tableNoData :text="$t('ReportManage.ReportList.no_chart_table_available')" size="mini" v-if="list.length===0&&finished"/>
             </div>
         </div>
     </div>
@@ -56,24 +56,7 @@ import {
 export default {
     data() {
         return {
-            typeOpts:[
-                {
-                    name:'相关性',
-                    key:'相关性'
-                },
-                {
-                    name:'拟合方程曲线',
-                    key:'拟合方程曲线'
-                },
-                {
-                    name:'统计特征',
-                    key:'统计特征'
-                },
-                {
-                    name:'跨品种分析',
-                    key:'跨品种分析'
-                }
-            ],
+
             keyword:'',
             isShowMe:false,
             activeType:'相关性',
@@ -164,6 +147,28 @@ export default {
             this.getChartList()
         }
     },
+    computed:{
+      typeOpts(){
+        return [
+                {
+                    name:this.$t('ReportManage.ReportList.correlation_analysis'),
+                    key:'相关性'
+                },
+                {
+                    name:this.$t('ReportManage.ReportList.curve_fitting_radio'),
+                    key:'拟合方程曲线'
+                },
+                {
+                    name:this.$t('ReportManage.ReportList.statistical_feature_radio'),
+                    key:'统计特征'
+                },
+                {
+                    name:this.$t('ReportManage.ReportList.intercommodity_analysis_radio'),
+                    key:'跨品种分析'
+                }
+            ]
+      }
+    }
 }
 </script>
 

+ 1 - 1
src/views/smartReport/components/TextEdit.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="text-edit-wrap">
-        <div style="font-size:16px;margin-bottom:20px">文本编辑</div>
+        <div style="font-size:16px;margin-bottom:20px">{{$t('ReportManage.ReportList.text_editing')}}</div>
         <froala
 			id="froala-editor"
 			ref="froalaEditor"

+ 76 - 72
src/views/smartReport/editReport.vue

@@ -6,37 +6,37 @@
             <ul class="action-list">
                 <li class="action-item" @click="showReportBaseInfo=true">
                     <img src="~@/assets/img/smartReport/icon01.png" alt="">
-                    <span>基础信息</span>
+                    <span>{{$t('ReportManage.ReportList.information_title')}}</span>
                 </li>
                 <li class="action-item" @click="handleRefreshAllChart">
                     <img src="~@/assets/img/smartReport/icon02.png" alt="">
-                    <span>图表刷新 </span>
+                    <span>{{$t('ReportManage.ReportList.charts_update_btn')}} </span>
                 </li>
                 <li class="action-item" @click="handlePreviewReport">
                     <img src="~@/assets/img/smartReport/icon03.png" alt="">
-                    <span>预览</span>
+                    <span>{{$t('ReportManage.ReportList.preview_btn')}}</span>
                 </li>
                 <li class="action-item" @click="handleSaveContent">
                     <img src="~@/assets/img/smartReport/icon01.png" alt="">
-                    <span>存草稿</span>
+                    <span>{{$t('ReportManage.ReportList.save_draft_btn')}}</span>
                 </li>
                 <template v-if="!isApprove||!hasApproveFlow">
                     <li class="action-item" :class="{'disabled':checkLoading}"
                         @click="handlePublishOpt('dsfb')">
                         <img src="~@/assets/img/smartReport/icon01.png" alt="">
-                        <span>定时发布</span>
+                        <span>{{$t('ReportManage.ReportList.scheduled_publish_btn')}}</span>
                     </li>
                     <li class="action-item" :class="{'disabled':checkLoading}"
                         @click="handlePublishOpt('fb')">
                         <img src="~@/assets/img/smartReport/icon01.png" alt="">
-                        <span>发布</span>
+                        <span>{{$t('ReportManage.ReportList.publish_btn')}}</span>
                     </li>
                 </template>
                 <template v-if="isApprove&&hasApproveFlow">
                     <li class="action-item" :class="{'disabled':checkLoading}"
                         @click="handlePublishOpt('submit')">
                         <img src="~@/assets/img/smartReport/icon01.png" alt="">
-                        <span>提交</span>
+                        <span>{{$t('ReportManage.ReportList.submission_btn')}}</span>
                     </li>
                 </template>
                 
@@ -204,23 +204,23 @@
 			:append-to-body="true" 
 			:visible.sync="showDSFB" 
 			width="500px" 
-			title="定时发布"
+			:title="$t('ReportManage.ReportList.scheduled_publish_btn')"
 		>
 			<div>
 				<div>
-					<span>发送时间</span>
+					<span>{{$t('ReportManage.ReportList.publish_time')}}</span>
 					<el-date-picker
 						v-model="taskTime"
 						type="datetime"
-						placeholder="选择日期时间"
+						:placeholder="$t('ReportManage.ReportList.select_date_and_time')"
 						value-format="yyyy-MM-dd HH:mm"
 						:picker-options="timePickerOpt"
 					/>
 				</div>
-				<p style="margin:15px 0">设置成功之后,研报将定时进行发送。</p>
+				<p style="margin:15px 0">{{$t('ReportManage.ReportList.the_report_will_be_posted_on_time')}}</p>
 				<div style="text-align:right;margin:20px 0">
-					<el-button type="primary" plain @click="showDSFB=false">取消</el-button>
-					<el-button type="primary" @click="handleSetReportPrepublish">确定</el-button>
+					<el-button type="primary" plain @click="showDSFB=false">{{$t('Dialog.cancel_btn')}}</el-button>
+					<el-button type="primary" @click="handleSetReportPrepublish">{{$t('Dialog.confirm_btn')}}</el-button>
 				</div>
 			</div>
 		</el-dialog>
@@ -300,43 +300,6 @@ export default {
             reportInfo:null,
             showReportBaseInfo:false,
 
-            topTypeList:[
-                {
-                    name:'版图资源库',
-                    type:'imgSource',
-                    icon:require('@/assets/img/smartReport/icon04.png')
-                },
-                {
-                    name:'图库',
-                    type:'etaChart',
-                    icon:require('@/assets/img/smartReport/icon04.png')
-                },
-                {
-                    name:'ETA表格',
-                    type:'etaSheet',
-                    icon:require('@/assets/img/smartReport/icon05.png')
-                },
-                {
-                    name:'统计分析',
-                    type:'statisticAnalysis',
-                    icon:require('@/assets/img/smartReport/icon06.png')
-                },
-                {
-                    name:'商品价格曲线',
-                    type:'etaPriceChart',
-                    icon:require('@/assets/img/smartReport/icon07.png')
-                },
-                {
-                    name:'沙盘图',
-                    type:'etaSandBox',
-                    icon:require('@/assets/img/smartReport/icon08.png')
-                },
-                {
-                    name:'语义分析',
-                    type:'semanticAnalysis',
-                    icon:require('@/assets/img/smartReport/icon09.png')
-                }
-            ],
             compList:[
                 {   
                     compId:1,
@@ -807,7 +770,7 @@ export default {
 
             apiSmartReport.reportEdit({...params}).then(res=>{
                 if(res.Ret===200){
-                    this.$message.success('保存成功')
+                    this.$message.success(this.$t('MsgPrompt.saved_msg'))
                     this.reportInfo.Title=params.Title
                     this.showReportBaseInfo=false
                 }
@@ -855,7 +818,7 @@ export default {
                 }
             });
 
-            if(!code_arr.length) return this.$message.warning('请插入图表');
+            if(!code_arr.length) return this.$message.warning(this.$t('ReportManage.ReportList.insert_charts_msg'));
 
             if(this.$route.query.id) {
                 let res = await dataBaseInterface.getReportrefreshStatus({
@@ -864,7 +827,7 @@ export default {
                 ReportChapterId: 0
                 });
                 
-                if(!res.Data.RefreshResult) return this.$message.warning('图表正在刷新中,请勿重复操作')
+                if(!res.Data.RefreshResult) return this.$message.warning(this.$t('ReportManage.ReportList.chart_refreshed_msg'))
             }
 
             // const loading = this.$loading({
@@ -907,7 +870,7 @@ export default {
                     if(res.Ret===200){
                         resolve(true)
                         if(!isAutoSave){
-                            this.$message.success('保存成功')
+                            this.$message.success(this.$t('MsgPrompt.saved_msg'))
                         }
                     }
                     if(res.Msg==='报告已发布, 不允许编辑'){
@@ -937,11 +900,11 @@ export default {
             }else{
                 const isPost = this.permissionBtn.checkPermissionBtn(this.permissionBtn.smartReportManageBtn.reportManage_sendMsg)
                 this.$confirm(
-                    isPost?'发布后,是否推送模板消息?':'是否立即发布报告?', 
-                    '发布提示', 
+                    isPost?this.$t('ReportManage.smart_msg.publishing_messages'):this.$t('ReportManage.smart_msg.should_published_immediately'), 
+                    this.$t('ReportManage.ReportList.smart_release_prompt_btn'), 
                     {
-                        confirmButtonText: isPost?'推送':'发布',
-                        cancelButtonText: isPost?'不推送':'取消',
+                        confirmButtonText: isPost?this.$t('ReportManage.smart_btn.push'):this.$t('ReportManage.smart_btn.publish'),
+				        cancelButtonText: isPost?this.$t('ReportManage.smart_btn.not_push'):this.$t('Dialog.cancel_btn'),
                         type: 'warning',
                         distinguishCancelAndClose:true,
                     
@@ -966,16 +929,16 @@ export default {
         },
         //提交报告
         submitReport(){
-            this.$confirm("是否确认提交该报告进入审批流程?","提示",{
-                confirmButtonText:'确定',
-                cancelButtonText:'取消',
+             this.$confirm(this.$t('ReportManage.smart_msg.submit_approval'),this.$t('Confirm.prompt'),{
+                confirmButtonText: this.$t('Dialog.confirm_btn'),
+                cancelButtonText: this.$t('Dialog.cancel_btn'),
                 type:'warning',
             }).then(()=>{
                 approveInterence.reportSmartSubmit({
                     ReportId:Number(this.$route.query.id)
                 }).then(res=>{
                     if(res.Ret!==200) return 
-                    this.$message.success("提交成功")
+                    this.$message.success(this.$t('ReportManage.smart_msg.submit_success'))
                     this.$router.replace({ path: '/smartReportList' });
                 })
             })
@@ -984,14 +947,14 @@ export default {
         // 定时发布报告
         async handleSetReportPrepublish(){
             if(!this.taskTime){
-				this.$message.warning('请选择定时发布的时间')
+				this.$message.warning(this.$t('ReportManage.smart_msg.select_push_time'))
 				return
 			}
 			const now=this.$moment().format('YYYY-MM-DD HH:mm:ss')
 			// console.log(now);
 			// console.log(this.taskTime);
 			if(this.$moment(this.taskTime).isBefore(now,'second')){
-				this.$message.warning('定时发布不得早于当前时间')
+				this.$message.warning(this.$t('ReportManage.smart_msg.than_current_time'))
 				return
 			}
             // 如果该报告已经推送过模板消息
@@ -1002,7 +965,7 @@ export default {
                     PreMsgSend:0
                 }).then(res=>{
                     if(res.Ret===200){
-                        this.$message.success('定时发布成功!')
+                        this.$message.success(this.$t('ReportManage.smart_msg.timed_success'))
                         this.$router.replace({ path: '/smartReportList' });
                     }
                 })
@@ -1011,9 +974,9 @@ export default {
 
             const isPost = this.permissionBtn.checkPermissionBtn(this.permissionBtn.smartReportManageBtn.reportManage_sendMsg)
 
-            this.$confirm(isPost?'是否发布定时报告,并推送模板消息?':'是否发布定时报告?', '发布提示', {
-				confirmButtonText: isPost?'推送':'发布',
-				cancelButtonText: isPost?'不推送':'取消',
+           this.$confirm(isPost?this.$t('ReportManage.smart_msg.push_report_msg'):this.$t('ReportManage.smart_msg.is_push_timed'), this.$t('ReportManage.ReportList.smart_release_prompt_btn'), {
+				confirmButtonText: isPost?this.$t('ReportManage.smart_btn.push'):this.$t('ReportManage.smart_btn.publish'),
+				cancelButtonText: isPost?this.$t('ReportManage.smart_btn.not_push'):this.$t('Dialog.cancel_btn'),
 				type: 'warning',
 				distinguishCancelAndClose:true,
 				beforeClose:(action, instance,done)=>{
@@ -1027,7 +990,7 @@ export default {
 								PreMsgSend:0,
 							}).then(res=>{
 								if(res.Ret===200){
-									this.$message.success('定时发布成功!')
+									this.$message.success(this.$t('ReportManage.smart_msg.timed_success'))
 									this.$router.replace({ path: '/smartReportList' });
 								}
 							})
@@ -1040,7 +1003,7 @@ export default {
 							PreMsgSend:isPost?1:0,
 						}).then(res=>{
 							if(res.Ret===200){
-								this.$message.success('定时发布成功!')
+								this.$message.success(this.$t('ReportManage.smart_msg.timed_success'))
 								this.$router.replace({ path: '/smartReportList' });
 							}
 						})
@@ -1073,10 +1036,10 @@ export default {
         // 插入版头版尾
         handleInsertImgSource(e){
             if(e.type=='1'){
-                this.$message.success('版头设置成功')
+                this.$message.success(this.$t('ReportManage.ReportList.header_setting_msg'))
                 this.headImg=e.data.ImgUrl
             }else{
-                this.$message.success('版尾设置成功')
+                this.$message.success(this.$t('ReportManage.ReportList.trailer_setting_msg'))
                 this.endImg=e.data.ImgUrl
             }
             this.contentChange=true
@@ -1087,6 +1050,47 @@ export default {
             this.contentChange=true
         }
     },
+    computed:{
+      topTypeList(){
+           return [
+                {
+                    name:this.$t('ReportManage.ReportList.library_top_type'),
+                    type:'imgSource',
+                    icon:require('@/assets/img/smartReport/icon04.png')
+                },
+                {
+                    name:this.$t('ReportManage.ReportList.chart_top_type'),
+                    type:'etaChart',
+                    icon:require('@/assets/img/smartReport/icon04.png')
+                },
+                {
+                    name:this.$t('ReportManage.ReportList.eta_top_type'),
+                    type:'etaSheet',
+                    icon:require('@/assets/img/smartReport/icon05.png')
+                },
+                {
+                    name:this.$t('ReportManage.ReportList.statistical_top_type'),
+                    type:'statisticAnalysis',
+                    icon:require('@/assets/img/smartReport/icon06.png')
+                },
+                {
+                    name:this.$t('ReportManage.ReportList.price_curve_radio'),
+                    type:'etaPriceChart',
+                    icon:require('@/assets/img/smartReport/icon07.png')
+                },
+                {
+                    name:this.$t('ReportManage.ReportList.sandbox_top_type'),
+                    type:'etaSandBox',
+                    icon:require('@/assets/img/smartReport/icon08.png')
+                },
+                {
+                    name:this.$t('ReportManage.ReportList.semantic_top_type'),
+                    type:'semanticAnalysis',
+                    icon:require('@/assets/img/smartReport/icon09.png')
+                }
+            ]
+      }
+    },
     created() {
         this.getPublicSettings()
         this.getReportDetail()

+ 3 - 3
src/views/smartReport/reportList.vue

@@ -429,7 +429,7 @@
                         type="primary"
                         style="width: 100px; margin: 0 20px"
                         @click="handleConfirmPublishReport"
-                        >发布</el-button
+                        >{{$t('ReportManage.smart_btn.publish')}}</el-button
                     >
                 </div>
             </div>
@@ -569,9 +569,9 @@ export default {
             }
             this.$confirm(
                 item.PrePublishTime? this.$t('ReportManage.smart_msg.timed_release_setup'):this.$t('ReportManage.smart_msg.should_published_immediately'), 
-                '发布提示', 
+                this.$t('ReportManage.smart_release_prompt_btn'), 
                 {
-                    confirmButtonText: '发布',
+                    confirmButtonText: this.$t('ReportManage.smart_btn.publish'),
                     cancelButtonText: this.$t('Dialog.cancel_btn'),
                     type: 'warning',
                     distinguishCancelAndClose:true,