2 Commits 656d8b783d ... 87963fa4c5

Author SHA1 Message Date
  zy 87963fa4c5 Merge branch 'master' of http://git.jiayuepowertech.com:9022/zy/report-i18n 1 week ago
  zy 99a3be07ef 1 1 week ago
13 changed files with 1515 additions and 1331 deletions
  1. 70 0
      ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/i18n/langs/en/statistics.js
  2. 69 0
      ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/i18n/langs/zh/statistics.js
  3. 36 31
      ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/accuracyCmpsData/index.vue
  4. 115 85
      ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/accuracyCmpsRate/index.vue
  5. 983 979
      ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/accuracyPassRate/index.vue
  6. 107 107
      ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/accuracyPassRateMonth/index.vue
  7. 6 6
      ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/comprehensiveStatistics/balkElectricQuery/index.vue
  8. 9 9
      ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/comprehensiveStatistics/electricEnergyTotal/index.vue
  9. 49 49
      ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/comprehensiveStatistics/equipmentData/index.vue
  10. 5 5
      ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/comprehensiveStatistics/index.vue
  11. 35 33
      ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/detailedRulesStatics/index.vue
  12. 20 17
      ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/monthReportStatistics/index.vue
  13. 11 10
      ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/reportStatistics/index.vue

+ 70 - 0
ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/i18n/langs/en/statistics.js

@@ -0,0 +1,70 @@
+export default {
+  '超短期实时预测数据对比':'Real-time Ultra-short-term Forecasted Data Comparison',
+  '上报统计时间范围':'Statistical Reporting Period',
+  '图表‌':'Chart',
+  '‌上报对象名称':'Reporting Entity Name',
+  '已上报':'Reported',
+  '应上报':'Expected',
+  '百分比':'Percentage',
+  '预测类型':'Prediction Type',
+  '预测尺度':'Prediction Scale',
+  '查询准确率table出错':'Query Accuracy Table Error',
+  '查询上报统计table出错':'Query Reporting Statistics Table Error',
+  '查询预测类型出错':'Query Prediction Type Error',
+  '查询预测尺度出错':'Query Prediction Scale Error',
+  '查询实时预测短期echarts出错':'Short-term Real-time Prediction ECharts Rendering Error',
+  '准确率统计':'Accuracy Statistics',
+  '列表无数据不能导出文件!':'No Data to Export',
+  '16点平均':'16:00 Average',
+  '16点全量':'16:00 Full Dataset',
+  '第':'n-th',
+  '时刻':'Timestamp',
+  '算法':'Algorithm',
+  '中期准确率': 'Mid-term Accuracy Rate',
+  '中期合格率': 'Mid-term Pass Rate',
+  '短期准确率': 'Short-term Accuracy Rate',
+  '短期第十天准确率': 'Short-term 10th Day Accuracy Rate',
+  '短期合格率': 'Short-term Pass Rate',
+  '超短期准确率': 'Ultra-short-term Accuracy Rate',
+  '超短期合格率': 'Ultra-short-term Pass Rate',
+  '准确率': 'Accuracy Rate',
+  '合格率': 'Pass Rate',
+  '实时': 'Real-time',
+  '实时 ': 'Real-time ',
+  '统计 ': 'Statistical ',
+  '统计 平均/': 'Statistical Average/',
+  '受阻电量查询': 'Blocked Power Query',
+  '站内受阻': 'In-station Blockage',
+  '站外受阻': 'Off-station Blockage',
+  '弃电率指标': 'Power Curtailment Rate Indicator',
+  '查询table出错': 'Table Query Error',
+  '平均': 'Average',
+  '发电量统计(单位:万千瓦时)': 'Power Generation Statistics (Unit: 10,000 kWh)',
+  '环境数据统计(单位:MJ/㎡)': 'Environmental Data Statistics (Unit: MJ/m²)',
+  '环境数据统计(单位:m/s)': 'Environmental Data Statistics (Unit: m/s)',
+  '发电量变化': 'Power Generation Variation',
+  '环境数据': 'Environmental Data',
+  '发电量': 'Power Generation',
+  '(万千瓦时)': '(10,000 kWh)',
+  '选择气象站': 'Select Weather Station',
+  '选择日期类型': 'Select Date Type',
+  '选择测风塔': 'Select Wind Measurement Tower',
+  '选择层高': 'Select Layer Height',
+  '气象站数据统计': 'Weather Station Data Statistics',
+  '日期': 'Date',
+  '最大值': 'Max Value',
+  '最小值': 'Min Value',
+  '平均值': 'Average Value',
+  '年': 'Year',
+  '月': 'Month',
+  '日': 'Day',
+  '测风塔风速统计': 'Wind Measurement Tower Wind Speed Statistics',
+  '风速最大值': 'Max Wind Speed',
+  '风速最小值': 'Min Wind Speed',
+  '风速平均值': 'Average Wind Speed',
+  '没有气象站设备信息': 'No Weather Station Device Information',
+  '查询气象站设备信息出错': 'Error Querying Weather Station Device Information',
+  '查询测风塔设备信息出错': 'Error Querying Wind Measurement Tower Device Information',
+  '至':'to'
+}
+

+ 69 - 0
ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/i18n/langs/zh/statistics.js

@@ -0,0 +1,69 @@
+{
+  '超短期实时预测数据对比': '超短期实时预测数据对比',
+  '上报统计时间范围': '上报统计时间范围',
+  '图表': '图表',
+  '上报对象名称': '上报对象名称',
+  '已上报': '已上报',
+  '应上报': '应上报',
+  '百分比': '百分比',
+  '预测类型': '预测类型',
+  '预测尺度': '预测尺度',
+  '查询准确率table出错': '查询准确率table出错',
+  '查询上报统计table出错': '查询上报统计table出错',
+  '查询预测类型出错': '查询预测类型出错',
+  '查询预测尺度出错': '查询预测尺度出错',
+  '查询实时预测短期echarts出错': '查询实时预测短期echarts出错',
+  '准确率统计': '准确率统计',
+  '列表无数据不能导出文件!': '列表无数据不能导出文件!',
+  '16点平均': '16点平均',
+  '16点全量': '16点全量',
+  '第': '第',
+  '时刻': '时刻',
+  '算法': '算法',
+  '中期准确率': '中期准确率',
+  '中期合格率': '中期合格率',
+  '短期准确率': '短期准确率',
+  '短期第十天准确率': '短期第十天准确率',
+  '短期合格率': '短期合格率',
+  '超短期准确率': '超短期准确率',
+  '超短期合格率': '超短期合格率',
+  '准确率': '准确率',
+  '合格率': '合格率',
+  '实时': '实时',
+  '实时 ': '实时 ',
+  '统计 ': '统计 ',
+  '统计 平均/': '统计 平均/',
+  '受阻电量查询': '受阻电量查询',
+  '站内受阻': '站内受阻',
+  '站外受阻': '站外受阻',
+  '弃电率指标': '弃电率指标',
+  '查询table出错': '查询table出错',
+  '平均': '平均',
+  '发电量统计(单位:万千瓦时)': '发电量统计(单位:万千瓦时)',
+  '环境数据统计(单位:MJ/㎡)': '环境数据统计(单位:MJ/㎡)',
+  '环境数据统计(单位:m/s)': '环境数据统计(单位:m/s)',
+  '发电量变化': '发电量变化',
+  '环境数据': '环境数据',
+  '发电量': '发电量',
+  '(万千瓦时)': '(万千瓦时)',
+  '选择气象站': '选择气象站',
+  '选择日期类型': '选择日期类型',
+  '选择测风塔': '选择测风塔',
+  '选择层高': '选择层高',
+  '气象站数据统计': '气象站数据统计',
+  '日期': '日期',
+  '最大值': '最大值',
+  '最小值': '最小值',
+  '平均值': '平均值',
+  '年': '年',
+  '月': '月',
+  '日': '日',
+  '测风塔风速统计': '测风塔风速统计',
+  '风速最大值': '风速最大值',
+  '风速最小值': '风速最小值',
+  '风速平均值': '风速平均值',
+  '没有气象站设备信息': '没有气象站设备信息',
+  '查询气象站设备信息出错': '查询气象站设备信息出错',
+  '查询测风塔设备信息出错': '查询测风塔设备信息出错',
+  '至': '至'
+}

+ 36 - 31
ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/accuracyCmpsData/index.vue

@@ -2,43 +2,47 @@
   <div class="chart-container">
     <div class="filter">
       <div class="startTime">
-        <span class="timeText">开始时间</span>
+        <span class="timeText">{{ this.$t('开始时间') }}</span>
         <el-date-picker v-model="startTime" :clearable="false" type="date" value-format="timestamp"
-          placeholder="选择日期" />
+                        :placeholder="this.$t('选择日期')"/>
       </div>
       <!-- <div class="endTime">
         <span class="timeText">结束时间</span>
         <el-date-picker v-model="endTime" :clearable="false" type="date" value-format="timestamp" placeholder="选择日期" />
       </div> -->
       <div class="timeQuery">
-        <el-button size="small" :loading="loading" @click="dateQuery">查询</el-button>
-        <el-button size="small" :loading="loading" @click="changeShowLine">其他时刻</el-button>
+        <el-button size="small" :loading="loading" @click="dateQuery">{{this.$t('查询')}}</el-button>
+        <el-button size="small" :loading="loading" @click="changeShowLine">{{this.$t('其他时刻')}}</el-button>
       </div>
-      <div v-show="this.showToolBar" class="toolbar"> <vxe-toolbar ref="fstToolBar" custom>
+      <div v-show="this.showToolBar" class="toolbar">
+        <vxe-toolbar ref="fstToolBar" custom>
           <template v-slot:buttons>
             <vxe-button class="downloadButton" style="border:none;" @click="exportData"><i
-                class="vxe-icon--download" /></vxe-button>
+              class="vxe-icon--download"/></vxe-button>
           </template>
-        </vxe-toolbar></div>
+        </vxe-toolbar>
+      </div>
     </div>
     <div class="content" style="height: 40%;">
       <el-tabs v-model="activeName" type="card" @tab-click="Byresize">
-        <el-tab-pane label="图表" name="first">
-          <chart :draw-data="this.drawData" :echarts-select="this.echartsSelect" :resize-key="this.resizeKey" />
+        <el-tab-pane :label="this.$t('图表')" name="first">
+          <chart :draw-data="this.drawData" :echarts-select="this.echartsSelect" :resize-key="this.resizeKey"/>
         </el-tab-pane>
-        <el-tab-pane label="表格" name="second">
+        <el-tab-pane :label="this.$t('表格')" name="second">
           <div class="tableContent">
             <vxe-grid id="fstTable" ref="fstRef" border export-config :loading="loading"
-              :custom-config="{ storage: true, checkMethod: checkColumnMethod }" :auto-resize="true" highlight-hover-row
-              :header-cell-style="styleStr" max-height="90%" min-wigth="100%" :cell-style="styleTableStr" align="center"
-              :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)"
-              @sort-change="sortChangeEvent" :columns="tableColumn" />
+                      :custom-config="{ storage: true, checkMethod: checkColumnMethod }" :auto-resize="true"
+                      highlight-hover-row
+                      :header-cell-style="styleStr" max-height="90%" min-wigth="100%" :cell-style="styleTableStr"
+                      align="center"
+                      :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)"
+                      @sort-change="sortChangeEvent" :columns="tableColumn"/>
 
             <div class="rtPageturning">
               <vxe-pager background :loading="loading" :current-page.sync="currentPage" :page-size.sync="pageSize"
-                :total="tableData.length"
-                :layouts="['PrevJump', 'PrevPage', 'JumpNumber', 'NextPage', 'NextJump', 'Sizes', 'FullJump', 'Total']"
-                @page-change="handlePageChange" />
+                         :total="tableData.length"
+                         :layouts="['PrevJump', 'PrevPage', 'JumpNumber', 'NextPage', 'NextJump', 'Sizes', 'FullJump', 'Total']"
+                         @page-change="handlePageChange"/>
             </div>
           </div>
           <!-- <Table height="100%" width="100%" :queryTime=this.queryTime @sendLoading="getLoadingFormTable"></Table>-->
@@ -53,9 +57,10 @@ import Chart from './charts'
 import resize from '../../../components/Charts/mixins/resize'
 import moment from 'moment'
 import {mapGetters} from "vuex";
+
 export default {
   name: 'Nwp',
-  components: { Chart },
+  components: {Chart},
   mixins: [resize],
   data() {
     return {
@@ -74,7 +79,7 @@ export default {
       tableLoading: true,
       resizeKey: 1,
       activeName: 'first',
-      drawData: { datas: [], times: [] },
+      drawData: {datas: [], times: []},
       tableColumn: [],
       tableData: [],
       total: 0,
@@ -91,10 +96,10 @@ export default {
       'sysTheme'
     ]),
   },
-  created () {
-    if(this.sysTheme === 'blue'){
-      this.styleStr = { background: 'black', color: 'white', border: 'white' }
-      this.styleTableStr = { background: 'black', color: 'white' }
+  created() {
+    if (this.sysTheme === 'blue') {
+      this.styleStr = {background: 'black', color: 'white', border: 'white'}
+      this.styleTableStr = {background: 'black', color: 'white'}
     }
     this.$nextTick(() => {
       // 手动将表格和工具栏进行关联
@@ -167,10 +172,10 @@ export default {
         if (!this.drawLoading && !this.tableLoading) {
           this.loading = false
         }
-        this.$message.error('查询实时预测短期echarts出错' + error)
+        this.$message.error(this.$t('查询实时预测短期echarts出错') + error)
       })
     },
-    handlePageChange({ currentPage, pageSize }) {
+    handlePageChange({currentPage, pageSize}) {
       this.currentPage = currentPage
       this.pageSize = pageSize
       this.startTime = this.queryStartTime
@@ -178,16 +183,16 @@ export default {
       // this.loading = true
       // this.getTable();
     },
-    dateFormat({ cellValue, row, column }) {
+    dateFormat({cellValue, row, column}) {
       return this.$XEUtils.toDateString(cellValue, 'yyyy-MM-dd HH:mm:ss')
     },
     dateFormatForTitle(cellValue) {
       return this.$XEUtils.toDateString(cellValue, 'yyyy-MM-dd')
     },
-    dateMoment({ cellValue, row, column }) {
+    dateMoment({cellValue, row, column}) {
       return moment(cellValue).format('YYYY-MM-DD HH:mm:ss')
     },
-    sortChangeEvent({ column, property, order }) {
+    sortChangeEvent({column, property, order}) {
       if (order == null) {
         order = 'asc'
       }
@@ -197,7 +202,7 @@ export default {
       // this.getTable()
     },
 
-    checkColumnMethod({ column }) {
+    checkColumnMethod({column}) {
       if (column.property === 'preTime') {
         return false
       }
@@ -228,7 +233,7 @@ export default {
     dateQuery() {
       this.loading = true
       if (this.endTime <= this.startTime) {
-        this.$message.error('开始时间不能大于结束时间')
+        this.$message.error(this.$t('开始时间不能大于结束时间'))
         this.startTime = this.queryStartTime
         this.endTime = this.queryEndTime
         this.loading = false
@@ -250,7 +255,7 @@ export default {
     exportData() {
       const data = this.tableData
       this.$refs.fstRef.exportData({
-        filename: this.dateFormatForTitle(this.startTime) + ' 超短期实时预测数据对比',
+        filename: this.dateFormatForTitle(this.startTime) + this.$t('超短期实时预测数据对比'),
         type: 'csv',
         isHeader: true,
         isFooter: true,

+ 115 - 85
ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/accuracyCmpsRate/index.vue

@@ -2,25 +2,29 @@
   <div class="chart-container">
     <div class="filter">
       <div class="startTime">
-        <span class="timeText">起始时间</span>
+        <span class="timeText">{{ this.$t('起始时间') }}</span>
         <el-date-picker v-model="startTime" :clearable="false" type="date" value-format="timestamp"
-          placeholder="选择日期" />
+                        :placeholder="this.$t('选择日期')"/>
       </div>
       <div class="endTime">
-        <span class="timeText">截止时间</span>
-        <el-date-picker v-model="endTime" :clearable="false" type="date" value-format="timestamp" placeholder="选择日期" />
+        <span class="timeText">{{ this.$t('截止时间') }}</span>
+        <el-date-picker v-model="endTime" :clearable="false" type="date" value-format="timestamp"
+                        :placeholder="this.$t('选择日期')"/>
       </div>
       <div class="timeQuery">
-        <el-button size="small" :loading="loading" @click="dateQuery">查询</el-button>
+        <el-button size="small" :loading="loading" @click="dateQuery">{{ this.$t('查询') }}</el-button>
       </div>
       <div class="timeQuery">
-        <el-button size="small" :loading="loading" @click="dialogVisible = true">显示设置</el-button>
+        <el-button size="small" :loading="loading" @click="dialogVisible = true">{{ this.$t('显示设置') }}</el-button>
+      </div>
+      <div class="toolbar">
+        <vxe-toolbar ref="accuracyCmpsRateToolBar" export/>
       </div>
-      <div class="toolbar"> <vxe-toolbar ref="accuracyCmpsRateToolBar" export /></div>
     </div>
-    <el-dialog title="选择数据类型" :visible.sync="dialogVisible" :before-close="this.cancelDisplay" width="50%">
+    <el-dialog :title="this.$t('选择数据类型')" :visible.sync="dialogVisible" :before-close="this.cancelDisplay"
+               width="50%">
       <div class="drag-box-item">
-        <div class="item-title">隐藏</div>
+        <div class="item-title">{{ this.$t('隐藏') }}</div>
         <draggable class="list-group" :list="listh" group="people">
           <transition-group id="done" tag="div" class="item-ul">
             <div v-for="(element, index) in listh" :key="element.value" class="drag-list">
@@ -30,7 +34,7 @@
         </draggable>
       </div>
       <div class="drag-box-item">
-        <div class="item-title">展示</div>
+        <div class="item-title">{{ this.$t('展示') }}</div>
         <draggable class="list-group" :list="lists" group="people">
           <transition-group id="wdtodo" tag="div" class="item-ul">
             <div v-for="(element, index) in lists" :key="element.value" class="drag-list">
@@ -40,23 +44,24 @@
         </draggable>
       </div>
       <span slot="footer" class="dialog-footer">
-        <el-button style="color: #1f2d3d" @click="this.initShow">初始化</el-button>
-        <el-button style="color: #1f2d3d" @click="this.cancelDisplay">取 消</el-button>
-        <el-button type="primary" style="color: #1f2d3d" @click="this.changeDisplay">确 定</el-button>
+        <el-button style="color: #1f2d3d" @click="this.initShow">{{ this.$t('初始化') }}</el-button>
+        <el-button style="color: #1f2d3d" @click="this.cancelDisplay">{{ this.$t('取 消') }}</el-button>
+        <el-button type="primary" style="color: #1f2d3d" @click="this.changeDisplay">{{ this.$t('确 定') }}</el-button>
       </span>
     </el-dialog>
     <div style="width: 100%;height: 90%">
       <div class="tableContent">
         <vxe-grid id="accuracyCmpsRateTable" ref="accuracyCmpsRateRef" border export-config :loading="loading"
-          :auto-resize="true" highlight-hover-row :header-cell-style="styleStr" max-height="90%"
-          :cell-style="styleTableStr" align="center"
-          :data="this.tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" :columns="tableColumn"
-          @sort-change="sortChangeEvent" />
+                  :auto-resize="true" highlight-hover-row :header-cell-style="styleStr" max-height="90%"
+                  :cell-style="styleTableStr" align="center"
+                  :data="this.tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)"
+                  :columns="tableColumn"
+                  @sort-change="sortChangeEvent"/>
         <div class="rtPageturning">
           <vxe-pager background :loading="loading" :current-page.sync="currentPage" :page-size.sync="pageSize"
-            :total="total"
-            :layouts="['PrevJump', 'PrevPage', 'JumpNumber', 'NextPage', 'NextJump', 'Sizes', 'FullJump', 'Total']"
-            @page-change="handlePageChange" />
+                     :total="total"
+                     :layouts="['PrevJump', 'PrevPage', 'JumpNumber', 'NextPage', 'NextJump', 'Sizes', 'FullJump', 'Total']"
+                     @page-change="handlePageChange"/>
         </div>
       </div>
       <!-- <div style="display: flex;justify-content:space-around;width: 100%;height: 50%">
@@ -73,11 +78,12 @@ import resize from '../../../components/Charts/mixins/resize'
 import draggable from 'vuedraggable'
 import echarts from 'echarts'
 import {mapGetters} from "vuex";
+
 export default {
   name: 'accuracyCmpsRate',
-  components: { draggable },
+  components: {draggable},
   mixins: [resize],
-  data () {
+  data() {
     return {
       styleStr: {},
       styleTableStr: {},
@@ -127,15 +133,15 @@ export default {
       'sysTheme'
     ]),
   },
-  created () {
+  created() {
     // 获取场站省份
     this.$axios.get('/electricField/').then(response => {
       this.province = response.data.provinceEnum
     })
 
     if (this.sysTheme === 'blue') {
-      this.styleStr = { background: 'black', color: 'white', border: '1px white solid'}
-      this.styleTableStr = { background: 'black', color: 'white' }
+      this.styleStr = {background: 'black', color: 'white', border: '1px white solid'}
+      this.styleTableStr = {background: 'black', color: 'white'}
       this.lineColor = 'white'
     } else {
       this.lineColor = '#3b3b3b'
@@ -145,24 +151,24 @@ export default {
       this.$refs.accuracyCmpsRateRef.connect(this.$refs.accuracyCmpsRateToolBar)
     })
   },
-  mounted () {
+  mounted() {
     this.init()
     window.addEventListener('resize', this.handleResize)
     window.addEventListener('transitionend', this.handleResize)
   },
-  destroyListener () {
+  destroyListener() {
     window.removeEventListener('resize', this.handleResize)
     window.removeEventListener('transitionend', this.handleResize)
   },
   methods: {
-    initShow () {
+    initShow() {
       this.dialogVisible = false
 
-      this.$XModal.confirm('您确定要初始化?').then(type => {
+      this.$XModal.confirm(this.$t('您确定要初始化?')).then(type => {
         if (type === 'confirm') {
           this.$axios.get('displayConfig/updateShowCode').then(res => {
             if (res.code == 0) {
-              this.$message.success('执行成功!')
+              this.$message.success(this.$t('执行成功!'))
               location.reload()
             }
           })
@@ -170,7 +176,7 @@ export default {
       })
     },
     // 图表自适应浏览器窗口大小
-    handleResize () {
+    handleResize() {
       if (this.chart != null && this.chart != undefined) {
         this.chart.resize()
       }
@@ -179,7 +185,7 @@ export default {
       }
     },
     // 初始化
-    init () {
+    init() {
       this.startTime = new Date(new Date(this.endTime).setHours(0, 0, 0, 0)).getTime()
       this.rtStartTime = new Date(new Date(this.rtEndTime).setHours(0, 0, 0, 0)).getTime()
       this.queryStartTime = this.startTime
@@ -189,10 +195,10 @@ export default {
       this.getShowCode()
     },
     // 查询及输入日期校验
-    dateQuery () {
+    dateQuery() {
       this.loading = true
       if (this.endTime < this.startTime) {
-        this.$message.error('开始时间不能大于结束时间')
+        this.$message.error(this.$t('开始时间不能大于结束时间'))
         this.startTime = this.queryStartTime
         this.endTime = this.queryEndTime
         this.loading = false
@@ -201,7 +207,7 @@ export default {
       if (this.endTime - this.startTime > 60 * 60 * 24 * 1000 * 31) {
         this.startTime = this.queryStartTime
         this.endTime = this.queryEndTime
-        this.$message.error('只能最多查询31天的数据哦')
+        this.$message.error(this.$t('只能最多查询31天的数据哦'))
         this.loading = false
         return
       }
@@ -212,7 +218,7 @@ export default {
       // this.getRealTimeDraw()
     },
     // 获取展示内容
-    getShowCode () {
+    getShowCode() {
       this.$axios.get('displayConfig/' + this.displayConfig.displayCode).then((res) => {
         // 如果displayCode获取成功
         if (res.data != null) {
@@ -224,15 +230,21 @@ export default {
             if (undefined == showCodes[i] || showCodes[i] == null || showCodes[i] == '') {
               continue
             }
-            if(showCodes[i] == 'aVG16'){
-              this.lists.push({ key: '16点平均', value: showCodes[i] })
-              this.listsquery.push({ key: '16点平均', value: showCodes[i] })
-            }else if(showCodes[i] == 'aLL16'){
-              this.lists.push({ key: '16点全量', value: showCodes[i] })
-              this.listsquery.push({ key: '16点全量', value: showCodes[i] })
+            if (showCodes[i] == 'aVG16') {
+              this.lists.push({key: this.$t('16点平均'), value: showCodes[i]})
+              this.listsquery.push({key: this.$t('16点平均'), value: showCodes[i]})
+            } else if (showCodes[i] == 'aLL16') {
+              this.lists.push({key: this.$t('16点全量'), value: showCodes[i]})
+              this.listsquery.push({key: this.$t('16点全量'), value: showCodes[i]})
             } else {
-              this.lists.push({ key: '第' + showCodes[i].replace('aCC', '') + '时刻', value: showCodes[i] })
-              this.listsquery.push({ key: '第' + showCodes[i].replace('aCC', '') + '时刻', value: showCodes[i] })
+              this.lists.push({
+                key: this.$t('第') + showCodes[i].replace('aCC', '') + this.$t('时刻'),
+                value: showCodes[i]
+              })
+              this.listsquery.push({
+                key: this.$t('第') + showCodes[i].replace('aCC', '') + this.$t('时刻'),
+                value: showCodes[i]
+              })
             }
           }
           // 循环显示hiddenCode中的字段
@@ -240,15 +252,21 @@ export default {
             if (undefined == hiddenCodes[i] || hiddenCodes[i] == null || hiddenCodes[i] == '') {
               continue
             }
-            if(hiddenCodes[i] == 'aVG16'){
-              this.listh.push({ key: '16点平均', value: hiddenCodes[i] })
-              this.listhquery.push({ key: '16点平均', value: hiddenCodes[i] })
-            }else if(hiddenCodes[i] == 'aLL16'){
-              this.listh.push({ key: '16点全量', value: hiddenCodes[i] })
-              this.listhquery.push({ key: '16点全量', value: hiddenCodes[i] })
+            if (hiddenCodes[i] == 'aVG16') {
+              this.listh.push({key: this.$t('16点平均'), value: hiddenCodes[i]})
+              this.listhquery.push({key: this.$t('16点平均'), value: hiddenCodes[i]})
+            } else if (hiddenCodes[i] == 'aLL16') {
+              this.listh.push({key: this.$t('16点全量'), value: hiddenCodes[i]})
+              this.listhquery.push({key: this.$t('16点全量'), value: hiddenCodes[i]})
             } else {
-              this.listh.push({ key: '第' + hiddenCodes[i].replace('aCC', '') + '时刻', value: hiddenCodes[i] })
-              this.listhquery.push({ key: '第' + hiddenCodes[i].replace('aCC', '') + '时刻', value: hiddenCodes[i] })
+              this.listh.push({
+                key: this.$t('第') + hiddenCodes[i].replace('aCC', '') + this.$t('时刻'),
+                value: hiddenCodes[i]
+              })
+              this.listhquery.push({
+                key: this.$t('第') + hiddenCodes[i].replace('aCC', '') + this.$t('时刻'),
+                value: hiddenCodes[i]
+              })
             }
           }
           // 获取表格和图表数据
@@ -266,15 +284,21 @@ export default {
             if (undefined == defaultShorwCodes[i] || defaultShorwCodes[i] == null || defaultShorwCodes[i] == '') {
               continue
             }
-            if(defaultShorwCodes[i] == 'aVG16'){
-              this.lists.push({ key: '16点平均', value: defaultShorwCodes[i] })
-              this.listsquery.push({ key: '16点平均', value: defaultShorwCodes[i] })
-            }else if(defaultShorwCodes[i] == 'aLL16'){
-              this.lists.push({ key: '16点全量', value: defaultShorwCodes[i] })
-              this.listsquery.push({ key: '16点全量', value: defaultShorwCodes[i] })
+            if (defaultShorwCodes[i] == 'aVG16') {
+              this.lists.push({key: this.$t('16点平均'), value: defaultShorwCodes[i]})
+              this.listsquery.push({key: this.$t('16点平均'), value: defaultShorwCodes[i]})
+            } else if (defaultShorwCodes[i] == 'aLL16') {
+              this.lists.push({key: this.$t('16点全量'), value: defaultShorwCodes[i]})
+              this.listsquery.push({key: this.$t('16点全量'), value: defaultShorwCodes[i]})
             } else {
-              this.lists.push({ key: '第' + defaultShorwCodes[i].replace('aCC', '') + '时刻', value: defaultShorwCodes[i] })
-              this.listsquery.push({ key: '第' + defaultShorwCodes[i].replace('aCC', '') + '时刻', value: defaultShorwCodes[i] })
+              this.lists.push({
+                key: this.$t('第') + defaultShorwCodes[i].replace('aCC', '') + this.$t('时刻'),
+                value: defaultShorwCodes[i]
+              })
+              this.listsquery.push({
+                key: this.$t('第') + defaultShorwCodes[i].replace('aCC', '') + this.$t('时刻'),
+                value: defaultShorwCodes[i]
+              })
             }
           }
           // 循环显示hiddenCode中的字段
@@ -282,22 +306,28 @@ export default {
             if (undefined == defaultHiddenCodes[i] || defaultHiddenCodes[i] == null || defaultHiddenCodes[i] == '') {
               continue
             }
-            if(defaultHiddenCodes[i] == 'aVG16'){
-              this.listh.push({ key: '16点平均', value: defaultHiddenCodes[i] })
-              this.listhquery.push({ key: '16点平均', value: defaultHiddenCodes[i] })
-            }else if(defaultHiddenCodes[i] == 'aLL16'){
-              this.listh.push({ key: '16点全量', value: defaultHiddenCodes[i] })
-              this.listhquery.push({ key: '16点全量', value: defaultHiddenCodes[i] })
+            if (defaultHiddenCodes[i] == 'aVG16') {
+              this.listh.push({key: this.$t('16点平均'), value: defaultHiddenCodes[i]})
+              this.listhquery.push({key: this.$t('16点平均'), value: defaultHiddenCodes[i]})
+            } else if (defaultHiddenCodes[i] == 'aLL16') {
+              this.listh.push({key: this.$t('16点全量'), value: defaultHiddenCodes[i]})
+              this.listhquery.push({key: this.$t('16点全量'), value: defaultHiddenCodes[i]})
             } else {
-              this.listh.push({ key: '第' + defaultHiddenCodes[i].replace('aCC', '') + '时刻', value: defaultHiddenCodes[i] })
-              this.listhquery.push({ key: '第' + defaultHiddenCodes[i].replace('aCC', '') + '时刻', value: defaultHiddenCodes[i] })
+              this.listh.push({
+                key: this.$t('第') + defaultHiddenCodes[i].replace('aCC', '') + this.$t('时刻'),
+                value: defaultHiddenCodes[i]
+              })
+              this.listhquery.push({
+                key: this.$t('第') + defaultHiddenCodes[i].replace('aCC', '') + this.$t('时刻'),
+                value: defaultHiddenCodes[i]
+              })
             }
           }
           this.$axios.post('/displayConfig', this.displayConfig).then((res) => {
-            this.$message.success('展示设置成功')
+            this.$message.success(this.$t('展示设置成功'))
             this.displayConfig = res.data
           }).catch((error) => {
-            this.$message.error('展示设置出错' + error)
+            this.$message.error(this.$t('展示设置出错') + error)
           })
           // 获取表格和图表数据
           this.getTable()
@@ -306,11 +336,11 @@ export default {
         this.loading = false
       }).catch((error) => {
         this.loading = false
-        this.$message.error('查询准确率table出错' + error)
+        this.$message.error(this.$t('查询准确率table出错') + error)
       })
     },
     // 修改显示内容
-    changeDisplay () {
+    changeDisplay() {
       this.displayConfig.showCode = ''
       this.displayConfig.hiddenCode = ''
       this.listsquery = []
@@ -329,17 +359,17 @@ export default {
       }
       this.$axios.post('displayConfig/', this.displayConfig).then((res) => {
         this.displayConfig = res.data
-        this.$message.success('展示设置成功')
+        this.$message.success(this.$t('展示设置成功'))
         this.dialogVisible = false
       }).catch((error) => {
-        this.$message.error('展示设置出错' + error)
+        this.$message.error(this.$t('展示设置出错') + error)
       })
       // 获取表格和图表数据
       this.getTable()
       // this.getRealTimeDraw()
     },
 
-    cancelDisplay () {
+    cancelDisplay() {
       this.lists = []
       this.listh = []
       for (var i = 0; i < this.listhquery.length; i++) {
@@ -352,7 +382,7 @@ export default {
     },
 
     // 获取表格内容和平均统计值内容并渲染
-    getTable () {
+    getTable() {
       let showCode
       if (this.displayConfig.showCode == null || this.displayConfig.showCode == '') {
         showCode = 'null'
@@ -367,33 +397,33 @@ export default {
         this.currentPage = 1
         // 表分页格数据总条数
         this.tableColumn = [
-          { field: 'time', title: '时间', width: 100 }
+          {field: 'time', title: this.$t('时间'), width: 100}
         ]
-        for (let x = 0; x < types.length; x++){
-           var children = []
+        for (let x = 0; x < types.length; x++) {
+          var children = []
           for (let i = 0; i < this.listsquery.length; i++) {
             children.push({
-              field: this.listsquery[i].value+"#" + types[x], title: this.listsquery[i].key
+              field: this.listsquery[i].value + "#" + types[x], title: this.listsquery[i].key
             })
 
           }
-          var colunm = {label: "算法" + types[x], children: children}
+          var colunm = {label: this.$t("算法") + types[x], children: children}
           this.tableColumn.push(colunm)
         }
         console.log(this.tableColumn)
         this.loading = false
       }).catch((error) => {
         this.loading = false
-        this.$message.error('查询准确率table出错' + error)
+        this.$message.error(this.$t('查询准确率table出错') + error)
       })
     },
-    handlePageChange ({ currentPage, pageSize }) {
+    handlePageChange({currentPage, pageSize}) {
       this.currentPage = currentPage
       this.pageSize = pageSize
       this.startTime = this.queryStartTime
       this.endTime = this.queryEndTime
     },
-    sortChangeEvent ({ column, property, order }) {
+    sortChangeEvent({column, property, order}) {
       if (order == null) {
         order = 'asc'
       }
@@ -403,7 +433,7 @@ export default {
       this.getTable()
     },
 
-    checkColumnMethod ({ column }) {
+    checkColumnMethod({column}) {
       if (column.property === 'preTime') {
         return false
       }

+ 983 - 979
ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/accuracyPassRate/index.vue

@@ -1,44 +1,46 @@
 <template>
-  <div class="chart-container" >
+  <div class="chart-container">
     <div class="filter">
       <div class="startTime">
-        <span class="timeText">起始时间</span>
+        <span class="timeText">{{ this.$t('起始时间') }}</span>
 
         <el-date-picker
           v-model="startTime"
           :clearable="false"
           type="datetime"
           value-format="timestamp"
-          placeholder="选择日期">
+          :placeholder="this.$t('选择日期')">
         </el-date-picker>
       </div>
       <div class="endTime">
-        <span class="timeText">截止时间</span>
+        <span class="timeText">{{ this.$t('截止时间') }}</span>
 
         <el-date-picker
           v-model="endTime"
           :clearable="false"
           type="datetime"
           value-format="timestamp"
-          placeholder="选择日期">
+          :placeholder="this.$t('选择日期')">
         </el-date-picker>
       </div>
       <div class="timeQuery">
-        <el-button  size="small" :loading="loading"  @click="dateQuery">查询</el-button>
+        <el-button size="small" :loading="loading" @click="dateQuery">{{ this.$t('查询') }}</el-button>
       </div>
       <div class="timeQuery">
-        <el-button  size="small" :loading="loading"  @click="dialogVisible = true">显示设置</el-button>
+        <el-button size="small" :loading="loading" @click="dialogVisible = true">{{ this.$t('显示设置') }}</el-button>
+      </div>
+      <div class="toolbar">
+        <vxe-toolbar ref="accuracyPassRateToolBar" export></vxe-toolbar>
       </div>
-      <div class="toolbar"> <vxe-toolbar ref="accuracyPassRateToolBar"  export></vxe-toolbar></div>
     </div>
 
     <el-dialog
-      title="选择数据类型"
+      :title="this.$t('选择数据类型')"
       :visible.sync="dialogVisible"
       :before-close="this.cancelDisplay"
       width="50%">
       <div class="drag-box-item">
-        <div class="item-title">隐藏</div>
+        <div class="item-title">{{ this.$t('隐藏') }}</div>
         <draggable class="list-group" :list="listh" group="people">
           <transition-group id="done" tag="div" class="item-ul">
             <div
@@ -53,7 +55,7 @@
 
       </div>
       <div class="drag-box-item">
-        <div class="item-title">展示</div>
+        <div class="item-title">{{ this.$t('展示') }}</div>
 
         <draggable class="list-group" :list="lists" group="people">
           <transition-group id="wdtodo" tag="div" class="item-ul">
@@ -68,9 +70,9 @@
         </draggable>
       </div>
       <span slot="footer" class="dialog-footer">
-    <el-button @click="this.initShow" style="color: #1f2d3d">初始化</el-button>
-    <el-button @click="this.cancelDisplay" style="color: #1f2d3d">取 消</el-button>
-    <el-button type="primary" style="color: #1f2d3d" @click="this.changeDisplay">确 定</el-button>
+    <el-button @click="this.initShow" style="color: #1f2d3d">{{ this.$t('初始化') }}</el-button>
+    <el-button @click="this.cancelDisplay" style="color: #1f2d3d">{{ this.$t('取 消') }}</el-button>
+    <el-button type="primary" style="color: #1f2d3d" @click="this.changeDisplay">{{ this.$t('确 定') }}</el-button>
   </span>
     </el-dialog>
 
@@ -105,8 +107,8 @@
         </div>
       </div>
       <div style="display: flex;justify-content:space-around;width: 100%;height: 50%">
-        <div class="accuracyPassRate one"  id="rtChats"/>
-        <div class="accuracyPassRate two"  id="statisticsChats"/>
+        <div class="accuracyPassRate one" id="rtChats"/>
+        <div class="accuracyPassRate two" id="statisticsChats"/>
       </div>
     </div>
   </div>
@@ -114,1093 +116,1095 @@
 
 <script>
 import {mapGetters} from "vuex";
-  import resize from '../../../components/Charts/mixins/resize'
-  import draggable from 'vuedraggable'
-  import echarts from "echarts";
-  export default {
-    name: 'accuracyPassRate',
-    components: {draggable},
-    mixins: [resize],
-    data(){
-      return{
-        styleStr:{},
-        styleTableStr:{},
-        lineColor:'',
-        queryStartTime:'',
-        queryEndTime:'',
-        startTime:'',
-        endTime:new Date().getTime()-900000,
-        rtStartTime:'',
-        rtEndTime:new Date().getTime()-900000,
-        loading:true,
-        displayConfig:{
-          id:"",
-          displayCode:"accuracyPassRate",
-          showCode:"",
-          hiddenCode:""
-        },
-        showCode:[],
-        tableColumn: [],
-        total:0,
-        sortOrder:'asc',
-        pageSize: 10,
-        currentPage: 1,
-        dialogVisible:false,
-        listh: [],
-        lists: [],
-        listhquery: [],
-        listsquery: [],
-        tableData:[],
-        rpDrawData:{},
-        stDrawData:{},
-        midAccuracyAVG:"--- ",
-        dqAccuracyAVG:"--- ",
-        tenDayDqAccuracyAVG:"--- ",
-        cdqAccuracyAVG:"--- ",
-        midRateValueAVG:"--- ",
-        dqRateValueAVG:"--- ",
-        cdqRateValueAVG:"--- ",
-        chart:null,
-        chart2:null,
-        markLineData:[],
-        province:null
-      }
-    },
-    computed: {
-      ...mapGetters([
-        'sysTheme'
-      ]),
-    },
-    created () {
-      //获取场站省份
-      this.$axios.get("/electricField/").then(response => {
-        this.province = response.data.provinceEnum;
-      })
+import resize from '../../../components/Charts/mixins/resize'
+import draggable from 'vuedraggable'
+import echarts from "echarts";
 
-      if(this.sysTheme === 'blue'){
-        this.styleStr = {background:'black',color:'white',border:'white'}
-        this.styleTableStr = {background:'black',color:'white'}
-        this.lineColor = 'white'
-      }else{
-        this.lineColor = '#3b3b3b'
-      }
-      this.$nextTick(() => {
-        // 手动将表格和工具栏进行关联
-        this.$refs.accuracyPassRateRef.connect(this.$refs.accuracyPassRateToolBar)
+export default {
+  name: 'accuracyPassRate',
+  components: {draggable},
+  mixins: [resize],
+  data() {
+    return {
+      styleStr: {},
+      styleTableStr: {},
+      lineColor: '',
+      queryStartTime: '',
+      queryEndTime: '',
+      startTime: '',
+      endTime: new Date().getTime() - 900000,
+      rtStartTime: '',
+      rtEndTime: new Date().getTime() - 900000,
+      loading: true,
+      displayConfig: {
+        id: "",
+        displayCode: "accuracyPassRate",
+        showCode: "",
+        hiddenCode: ""
+      },
+      showCode: [],
+      tableColumn: [],
+      total: 0,
+      sortOrder: 'asc',
+      pageSize: 10,
+      currentPage: 1,
+      dialogVisible: false,
+      listh: [],
+      lists: [],
+      listhquery: [],
+      listsquery: [],
+      tableData: [],
+      rpDrawData: {},
+      stDrawData: {},
+      midAccuracyAVG: "--- ",
+      dqAccuracyAVG: "--- ",
+      tenDayDqAccuracyAVG: "--- ",
+      cdqAccuracyAVG: "--- ",
+      midRateValueAVG: "--- ",
+      dqRateValueAVG: "--- ",
+      cdqRateValueAVG: "--- ",
+      chart: null,
+      chart2: null,
+      markLineData: [],
+      province: null
+    }
+  },
+  computed: {
+    ...mapGetters([
+      'sysTheme'
+    ]),
+  },
+  created() {
+    //获取场站省份
+    this.$axios.get("/electricField/").then(response => {
+      this.province = response.data.provinceEnum;
+    })
+
+    if (this.sysTheme === 'blue') {
+      this.styleStr = {background: 'black', color: 'white', border: 'white'}
+      this.styleTableStr = {background: 'black', color: 'white'}
+      this.lineColor = 'white'
+    } else {
+      this.lineColor = '#3b3b3b'
+    }
+    this.$nextTick(() => {
+      // 手动将表格和工具栏进行关联
+      this.$refs.accuracyPassRateRef.connect(this.$refs.accuracyPassRateToolBar)
+    })
+  },
+  mounted() {
+    this.init();
+    window.addEventListener("resize", this.handleResize);
+    window.addEventListener("transitionend", this.handleResize);
+  },
+  destroyListener() {
+    window.removeEventListener('resize', this.handleResize);
+    window.removeEventListener('transitionend', this.handleResize);
+  },
+  methods: {
+    initShow() {
+      this.dialogVisible = false
+
+      this.$XModal.confirm(this.$t('您确定要初始化?')).then(type => {
+
+        if (type === 'confirm') {
+          this.$axios.get("displayConfig/updateShowCode").then(res => {
+            if (res.code == 0) {
+              this.$message.success(this.$t("执行成功!"))
+              location.reload()
+            }
+          })
+        }
       })
     },
-    mounted() {
-      this.init();
-      window.addEventListener("resize", this.handleResize);
-      window.addEventListener("transitionend", this.handleResize);
+    // 图表自适应浏览器窗口大小
+    handleResize() {
+      if (this.chart != null && this.chart != undefined) {
+        this.chart.resize();
+      }
+      if (this.chart2 != null && this.chart != undefined) {
+        this.chart2.resize();
+      }
     },
-    destroyListener() {
-      window.removeEventListener('resize', this.handleResize);
-      window.removeEventListener('transitionend', this.handleResize);
+    // 初始化
+    init() {
+      this.startTime = new Date(new Date(this.endTime).setHours(0, 0, 0, 0)).getTime()
+      this.rtStartTime = new Date(new Date(this.rtEndTime).setHours(0, 0, 0, 0)).getTime()
+      this.queryStartTime = this.startTime
+      this.queryEndTime = this.endTime
+      this.loading = true
+      // 获取展示字段并获取表格和图表数据
+      this.getShowCode()
     },
-    methods:{
-      initShow(){
-        this.dialogVisible = false
-
-        this.$XModal.confirm('您确定要初始化?').then(type => {
-
-          if (type === 'confirm') {
-            this.$axios.get("displayConfig/updateShowCode").then(res =>{
-              if(res.code == 0 ){
-                this.$message.success("执行成功!")
-                location.reload()
-              }
-            })
+    // 查询及输入日期校验
+    dateQuery() {
+      this.loading = true
+      if (this.endTime < this.startTime) {
+        this.$message.error(this.$t("开始时间不能大于结束时间"))
+        this.startTime = this.queryStartTime
+        this.endTime = this.queryEndTime
+        this.loading = false
+        return
+      }
+      if (this.endTime - this.startTime > 60 * 60 * 24 * 1000 * 31) {
+        this.startTime = this.queryStartTime
+        this.endTime = this.queryEndTime
+        this.$message.error(this.$t("只能最多查询31天的数据哦"))
+        this.loading = false
+        return
+      }
+      this.queryStartTime = this.startTime
+      this.queryEndTime = this.endTime
+      // 获取表格和图表数据
+      this.getTable()
+      this.getRealTimeDraw()
+    },
+    // 获取展示内容
+    getShowCode() {
+      this.$axios.get('displayConfig/' + this.displayConfig.displayCode).then((res) => {
+        // 如果displayCode获取成功
+        if (res.data != null) {
+          this.displayConfig = res.data;
+          var showCodes = this.displayConfig.showCode.split(",");
+          var hiddenCodes = this.displayConfig.hiddenCode.split(",");
+          // 循环显示showCode中的字段
+          for (let i = 0; i < showCodes.length; i++) {
+            if (showCodes[i] == "midTermAccuracy") {
+              this.lists.push({key: this.$t('中期准确率'), value: 'midTermAccuracy'});
+              this.listsquery.push({key: this.$t('中期准确率'), value: 'midTermAccuracy'});
+            }
+            if (showCodes[i] == "midTermPassRate") {
+              this.lists.push({key: this.$t('中期合格率'), value: 'midTermPassRate'});
+              this.listsquery.push({key: this.$t('中期合格率'), value: 'midTermPassRate'});
+            }
+            if (showCodes[i] == "shortTermAccuracy") {
+              this.lists.push({key: this.$t('短期准确率'), value: 'shortTermAccuracy'});
+              this.listsquery.push({key: this.$t('短期准确率'), value: 'shortTermAccuracy'});
+            }
+            if (showCodes[i] == "tenDayShortTermAccuracy") {
+              this.lists.push({key: this.$t('短期第十天准确率'), value: 'tenDayShortTermAccuracy'});
+              this.listsquery.push({key: this.$t('短期第十天准确率'), value: 'tenDayShortTermAccuracy'});
+            }
+            if (showCodes[i] == "shortTermPassRate") {
+              this.lists.push({key: this.$t('短期合格率'), value: 'shortTermPassRate'});
+              this.listsquery.push({key: this.$t('短期合格率'), value: 'shortTermPassRate'});
+            }
+            if (showCodes[i] == "ultraShortTermAccuracy") {
+              this.lists.push({key: this.$t('超短期准确率'), value: 'ultraShortTermAccuracy'});
+              this.listsquery.push({key: this.$t('超短期准确率'), value: 'ultraShortTermAccuracy'});
+            }
+            if (showCodes[i] == "ultraShortTermPassRate") {
+              this.lists.push({key: this.$t('超短期合格率'), value: 'ultraShortTermPassRate'});
+              this.listsquery.push({key: this.$t('超短期合格率'), value: 'ultraShortTermPassRate'});
+            }
           }
-        })
-      },
-      // 图表自适应浏览器窗口大小
-      handleResize(){
-        if(this.chart!=null && this.chart!=undefined){
-          this.chart.resize();
-        }
-        if(this.chart2!=null && this.chart!=undefined){
-          this.chart2.resize();
-        }
-      },
-      // 初始化
-      init(){
-        this.startTime=new Date(new Date(this.endTime).setHours(0, 0, 0, 0)).getTime()
-        this.rtStartTime=new Date(new Date(this.rtEndTime).setHours(0, 0, 0, 0)).getTime()
-        this.queryStartTime = this.startTime
-        this.queryEndTime = this.endTime
-        this.loading = true
-        // 获取展示字段并获取表格和图表数据
-        this.getShowCode()
-      },
-      // 查询及输入日期校验
-      dateQuery(){
-        this.loading = true
-        if(this.endTime<this.startTime){
-          this.$message.error("开始时间不能大于结束时间")
-          this.startTime = this.queryStartTime
-          this.endTime = this.queryEndTime
-          this.loading = false
-          return
-        }
-        if(this.endTime-this.startTime> 60 * 60 * 24 * 1000*31){
-          this.startTime = this.queryStartTime
-          this.endTime = this.queryEndTime
-          this.$message.error("只能最多查询31天的数据哦")
-          this.loading = false
-          return
-        }
-        this.queryStartTime = this.startTime
-        this.queryEndTime = this.endTime
-        // 获取表格和图表数据
-        this.getTable()
-        this.getRealTimeDraw()
-      },
-      // 获取展示内容
-      getShowCode(){
-        this.$axios.get('displayConfig/'+this.displayConfig.displayCode).then((res) => {
-          // 如果displayCode获取成功
-          if(res.data != null){
-            this.displayConfig = res.data;
-            var showCodes = this.displayConfig.showCode.split(",");
-            var hiddenCodes = this.displayConfig.hiddenCode.split(",");
-            // 循环显示showCode中的字段
-            for (let i = 0; i <showCodes.length ; i++) {
-              if(showCodes[i] == "midTermAccuracy" ){
-                this.lists.push({key:'中期准确率',value:'midTermAccuracy'});
-                this.listsquery.push({key:'中期准确率',value:'midTermAccuracy'});
-              }
-              if(showCodes[i] == "midTermPassRate" ){
-                this.lists.push({key:'中期合格率',value:'midTermPassRate'});
-                this.listsquery.push({key:'中期合格率',value:'midTermPassRate'});
-              }
-              if(showCodes[i] == "shortTermAccuracy" ){
-                this.lists.push({key:'短期准确率',value:'shortTermAccuracy'});
-                this.listsquery.push({key:'短期准确率',value:'shortTermAccuracy'});
-              }
-              if(showCodes[i] == "tenDayShortTermAccuracy" ){
-                this.lists.push({key:'短期第十天准确率',value:'tenDayShortTermAccuracy'});
-                this.listsquery.push({key:'短期第十天准确率',value:'tenDayShortTermAccuracy'});
-              }
-              if(showCodes[i] == "shortTermPassRate" ){
-                this.lists.push({key:'短期合格率',value:'shortTermPassRate'});
-                this.listsquery.push({key:'短期合格率',value:'shortTermPassRate'});
-              }
-              if(showCodes[i] == "ultraShortTermAccuracy" ){
-                this.lists.push({key:'超短期准确率',value:'ultraShortTermAccuracy'});
-                this.listsquery.push({key:'超短期准确率',value:'ultraShortTermAccuracy'});
-              }
-              if(showCodes[i] == "ultraShortTermPassRate" ){
-                this.lists.push({key:'超短期合格率',value:'ultraShortTermPassRate'});
-                this.listsquery.push({key:'超短期合格率',value:'ultraShortTermPassRate'});
-              }
+          // 循环显示hiddenCode中的字段
+          for (let i = 0; i < hiddenCodes.length; i++) {
+            if (hiddenCodes[i] == "midTermAccuracy") {
+              this.listh.push({key: this.$t('中期准确率'), value: 'midTermAccuracy'})
+              this.listhquery.push({key: this.$t('中期准确率'), value: 'midTermAccuracy'})
             }
-            // 循环显示hiddenCode中的字段
-            for (let i = 0; i <hiddenCodes.length ; i++) {
-              if(hiddenCodes[i] == "midTermAccuracy" ){
-                this.listh.push({key:'中期准确率',value:'midTermAccuracy'})
-                this.listhquery.push({key:'中期准确率',value:'midTermAccuracy'})
-              }
-              if(hiddenCodes[i] == "midTermPassRate" ){
-                this.listh.push({key:'中期合格率',value:'midTermPassRate'})
-                this.listhquery.push({key:'中期合格率',value:'midTermPassRate'})
-              }
-              if(hiddenCodes[i] == "shortTermAccuracy" ){
-                this.listh.push({key:'短期准确率',value:'shortTermAccuracy'})
-                this.listhquery.push({key:'短期准确率',value:'shortTermAccuracy'})
-              }
-              if(showCodes[i] == "tenDayShortTermAccuracy" ){
-                this.listh.push({key:'短期第十天准确率',value:'tenDayShortTermAccuracy'});
-                this.listhquery.push({key:'短期第十天准确率',value:'tenDayShortTermAccuracy'});
-              }
-              if(hiddenCodes[i] == "shortTermPassRate" ){
-                this.listh.push({key:'短期合格率',value:'shortTermPassRate'})
-                this.listhquery.push({key:'短期合格率',value:'shortTermPassRate'})
-              }
-              if(hiddenCodes[i] == "ultraShortTermAccuracy" ){
-                this.listh.push({key:'超短期准确率',value:'ultraShortTermAccuracy'})
-                this.listhquery.push({key:'超短期准确率',value:'ultraShortTermAccuracy'})
-              }
-              if(hiddenCodes[i] == "ultraShortTermPassRate" ){
-                this.listh.push({key:'超短期合格率',value:'ultraShortTermPassRate'})
-                this.listhquery.push({key:'超短期合格率',value:'ultraShortTermPassRate'})
-              }
+            if (hiddenCodes[i] == "midTermPassRate") {
+              this.listh.push({key: this.$t('中期合格率'), value: 'midTermPassRate'})
+              this.listhquery.push({key: this.$t('中期合格率'), value: 'midTermPassRate'})
+            }
+            if (hiddenCodes[i] == "shortTermAccuracy") {
+              this.listh.push({key: this.$t('短期准确率'), value: 'shortTermAccuracy'})
+              this.listhquery.push({key: this.$t('短期准确率'), value: 'shortTermAccuracy'})
+            }
+            if (showCodes[i] == "tenDayShortTermAccuracy") {
+              this.listh.push({key: this.$t('短期第十天准确率'), value: 'tenDayShortTermAccuracy'});
+              this.listhquery.push({key: this.$t('短期第十天准确率'), value: 'tenDayShortTermAccuracy'});
+            }
+            if (hiddenCodes[i] == "shortTermPassRate") {
+              this.listh.push({key: this.$t('短期合格率'), value: 'shortTermPassRate'})
+              this.listhquery.push({key: this.$t('短期合格率'), value: 'shortTermPassRate'})
+            }
+            if (hiddenCodes[i] == "ultraShortTermAccuracy") {
+              this.listh.push({key: this.$t('超短期准确率'), value: 'ultraShortTermAccuracy'})
+              this.listhquery.push({key: this.$t('超短期准确率'), value: 'ultraShortTermAccuracy'})
             }
-            // 获取表格和图表数据
-            this.getTable();
-            this.getRealTimeDraw();
+            if (hiddenCodes[i] == "ultraShortTermPassRate") {
+              this.listh.push({key: this.$t('超短期合格率'), value: 'ultraShortTermPassRate'})
+              this.listhquery.push({key: this.$t('超短期合格率'), value: 'ultraShortTermPassRate'})
+            }
+          }
+          // 获取表格和图表数据
+          this.getTable();
+          this.getRealTimeDraw();
           // 如果displayCode获取失败
-          }else{
-            this.displayConfig.showCode="midTermAccuracy,midTermPassRate,shortTermAccuracy,tenDayShortTermAccuracy,shortTermPassRate,ultraShortTermAccuracy,ultraShortTermPassRate"
-            this.displayConfig.hiddenCode=""
-            this.displayConfig.displayCode="accuracyPassRate"
-
-            this.lists.push({key:'中期准确率',value:'midTermAccuracy'})
-            this.lists.push({key:'中期合格率',value:'midTermPassRate'})
-            this.lists.push({key:'短期准确率',value:'shortTermAccuracy'})
-            this.lists.push({key:'短期第十天准确率',value:'tenDayShortTermAccuracy'})
-            this.lists.push({key:'短期合格率',value:'shortTermPassRate'})
-            this.lists.push({key:'超短期准确率',value:'ultraShortTermAccuracy'})
-            this.lists.push({key:'超短期合格率',value:'ultraShortTermPassRate'})
+        } else {
+          this.displayConfig.showCode = "midTermAccuracy,midTermPassRate,shortTermAccuracy,tenDayShortTermAccuracy,shortTermPassRate,ultraShortTermAccuracy,ultraShortTermPassRate"
+          this.displayConfig.hiddenCode = ""
+          this.displayConfig.displayCode = "accuracyPassRate"
 
-            this.$axios.post('/displayConfig',this.displayConfig).then((res) => {
-              this.$message.success('展示设置成功')
-              this.displayConfig = res.data
-             }).catch((error) => {
-              this.$message.error('展示设置出错' + error)
-             })
-            // 获取表格和图表数据
-            this.getTable()
-            this.getRealTimeDraw()
-          }
-          this.loading = false
-        }).catch((error) => {
-          this.loading = false
-          this.$message.error('查询准确率table出错' + error)
-        })
-      },
-      // 修改显示内容
-      changeDisplay() {
-        this.displayConfig.showCode = ""
-        this.displayConfig.hiddenCode = ""
-        this.listsquery = []
-        this.listhquery = []
-        for (var i = 0; i < this.listh.length; i++) {
-          this.listhquery.push(this.listh[i])
-        }
-        for (var i = 0; i < this.lists.length; i++) {
-          this.listsquery.push(this.lists[i])
-        }
-        for (var i = 0; i < this.listsquery.length; i++) {
-          this.displayConfig.showCode += this.listsquery[i].value + ","
-        }
-        for (var i = 0; i < this.listhquery.length; i++) {
-          this.displayConfig.hiddenCode += this.listhquery[i].value + ","
-        }
-        this.$axios.post('displayConfig/', this.displayConfig).then((res) => {
-          this.displayConfig = res.data
-          this.$message.success('展示设置成功')
-          this.dialogVisible = false
-        }).catch((error) => {
-          this.$message.error('展示设置出错' + error)
-        });
-        // 获取表格和图表数据
-        this.getTable();
-        this.getRealTimeDraw();
-      },
+          this.lists.push({key: this.$t('中期准确率'), value: 'midTermAccuracy'})
+          this.lists.push({key: this.$t('中期合格率'), value: 'midTermPassRate'})
+          this.lists.push({key: this.$t('短期准确率'), value: 'shortTermAccuracy'})
+          this.lists.push({key: this.$t('短期第十天准确率'), value: 'tenDayShortTermAccuracy'})
+          this.lists.push({key: this.$t('短期合格率'), value: 'shortTermPassRate'})
+          this.lists.push({key: this.$t('超短期准确率'), value: 'ultraShortTermAccuracy'})
+          this.lists.push({key: this.$t('超短期合格率'), value: 'ultraShortTermPassRate'})
 
-      cancelDisplay(){
-        this.lists=[]
-        this.listh=[]
-        for(var i = 0;i<this.listhquery.length;i++){
-          this.listh.push(this.listhquery[i])
-        }
-        for(var i = 0;i<this.listsquery.length;i++){
-          this.lists.push(this.listsquery[i])
+          this.$axios.post('/displayConfig', this.displayConfig).then((res) => {
+            this.$message.success(this.$t('展示设置成功'))
+            this.displayConfig = res.data
+          }).catch((error) => {
+            this.$message.error(this.$t('展示设置出错') + error)
+          })
+          // 获取表格和图表数据
+          this.getTable()
+          this.getRealTimeDraw()
         }
+        this.loading = false
+      }).catch((error) => {
+        this.loading = false
+        this.$message.error(this.$t('查询准确率table出错') + error)
+      })
+    },
+    // 修改显示内容
+    changeDisplay() {
+      this.displayConfig.showCode = ""
+      this.displayConfig.hiddenCode = ""
+      this.listsquery = []
+      this.listhquery = []
+      for (var i = 0; i < this.listh.length; i++) {
+        this.listhquery.push(this.listh[i])
+      }
+      for (var i = 0; i < this.lists.length; i++) {
+        this.listsquery.push(this.lists[i])
+      }
+      for (var i = 0; i < this.listsquery.length; i++) {
+        this.displayConfig.showCode += this.listsquery[i].value + ","
+      }
+      for (var i = 0; i < this.listhquery.length; i++) {
+        this.displayConfig.hiddenCode += this.listhquery[i].value + ","
+      }
+      this.$axios.post('displayConfig/', this.displayConfig).then((res) => {
+        this.displayConfig = res.data
+        this.$message.success(this.$t('展示设置成功'))
         this.dialogVisible = false
-      },
+      }).catch((error) => {
+        this.$message.error(this.$t('展示设置出错') + error)
+      });
+      // 获取表格和图表数据
+      this.getTable();
+      this.getRealTimeDraw();
+    },
 
-      // 获取表格内容和平均统计值内容并渲染
-      getTable(){
-        let showCode;
-        if(this.displayConfig.showCode == null || this.displayConfig.showCode==""){
-          showCode = "null";
-        }else{
-          showCode = this.displayConfig.showCode;
-        }
-        this.$axios.get('/accuracyPassRate/table/day/'+this.queryStartTime+'/'+this.queryEndTime+'/'+showCode+'/'+this.sortOrder).then((res) => {
-          this.tableData = res.data.content;
-          this.total = this.tableData.length;
-          this.currentPage = 1;
-          this.stDrawData = res.data.charts;
-          for(var key in this.stDrawData){
-            if(key != "times" && key !="accuracyRate"){
-              var sum = 0;
-              var total =0;
-              for (let i = 0; i < this.stDrawData[key].length; i++) {
-                if(this.stDrawData[key][i]!=null){
-                  this.stDrawData[key][i] = parseFloat(this.stDrawData[key][i])
-                  sum+=this.stDrawData[key][i]
-                  total+=1;
-                }
-              }
-              if(key =='midTermAccuracy' && total!=0 ){
-                this.midAccuracyAVG = (sum/total).toFixed(2)+" "
-              }
-              if(key =='midTermPassRate' && total!=0 ){
-                this.midRateValueAVG =(sum/total).toFixed(2)+" "
-              }
-              if(key =='shortTermAccuracy' && total!=0 ){
-                this.dqAccuracyAVG = (sum/total).toFixed(2)+" "
-              }
-              if(key =='tenDayShortTermAccuracy' && total!=0 ){
-                this.tenDayDqAccuracyAVG = (sum/total).toFixed(2)+" "
-              }
-              if(key =='shortTermPassRate' && total!=0 ){
-                this.dqRateValueAVG =(sum/total).toFixed(2)+" "
-              }
-              if(key =='ultraShortTermAccuracy' && total!=0 ){
-                this.cdqAccuracyAVG = (sum/total).toFixed(2)+" "
-              }
-              if(key =='ultraShortTermPassRate' && total!=0 ){
-                this.cdqRateValueAVG = (sum/total).toFixed(2)+" "
+    cancelDisplay() {
+      this.lists = []
+      this.listh = []
+      for (var i = 0; i < this.listhquery.length; i++) {
+        this.listh.push(this.listhquery[i])
+      }
+      for (var i = 0; i < this.listsquery.length; i++) {
+        this.lists.push(this.listsquery[i])
+      }
+      this.dialogVisible = false
+    },
+
+    // 获取表格内容和平均统计值内容并渲染
+    getTable() {
+      let showCode;
+      if (this.displayConfig.showCode == null || this.displayConfig.showCode == "") {
+        showCode = "null";
+      } else {
+        showCode = this.displayConfig.showCode;
+      }
+      this.$axios.get('/accuracyPassRate/table/day/' + this.queryStartTime + '/' + this.queryEndTime + '/' + showCode + '/' + this.sortOrder).then((res) => {
+        this.tableData = res.data.content;
+        this.total = this.tableData.length;
+        this.currentPage = 1;
+        this.stDrawData = res.data.charts;
+        for (var key in this.stDrawData) {
+          if (key != "times" && key != "accuracyRate") {
+            var sum = 0;
+            var total = 0;
+            for (let i = 0; i < this.stDrawData[key].length; i++) {
+              if (this.stDrawData[key][i] != null) {
+                this.stDrawData[key][i] = parseFloat(this.stDrawData[key][i])
+                sum += this.stDrawData[key][i]
+                total += 1;
               }
             }
-          }
-          // 平均统计值
-          this.statisticsDraw(this.stDrawData)
-          // 表分页格数据总条数
-          this.tableColumn = [
-            { field: 'time', title: '时间', width:200},
-          ]
-          for(let i = 0;i<this.listsquery.length;i++){
-            var colunm = {
-              field:this.listsquery[i].value , title: this.listsquery[i].key
+            if (key == 'midTermAccuracy' && total != 0) {
+              this.midAccuracyAVG = (sum / total).toFixed(2) + " "
+            }
+            if (key == 'midTermPassRate' && total != 0) {
+              this.midRateValueAVG = (sum / total).toFixed(2) + " "
+            }
+            if (key == 'shortTermAccuracy' && total != 0) {
+              this.dqAccuracyAVG = (sum / total).toFixed(2) + " "
+            }
+            if (key == 'tenDayShortTermAccuracy' && total != 0) {
+              this.tenDayDqAccuracyAVG = (sum / total).toFixed(2) + " "
+            }
+            if (key == 'shortTermPassRate' && total != 0) {
+              this.dqRateValueAVG = (sum / total).toFixed(2) + " "
+            }
+            if (key == 'ultraShortTermAccuracy' && total != 0) {
+              this.cdqAccuracyAVG = (sum / total).toFixed(2) + " "
+            }
+            if (key == 'ultraShortTermPassRate' && total != 0) {
+              this.cdqRateValueAVG = (sum / total).toFixed(2) + " "
             }
-            this.tableColumn.push(colunm)
           }
-          this.loading = false
-        }).catch((error) => {
-          this.loading = false
-          this.$message.error('查询准确率table出错' + error)
-        })
-      },
-      // 获取实时数据
-      getRealTimeDraw(){
-        let showCode;
-        if(this.displayConfig.showCode == null || this.displayConfig.showCode==""){
-          showCode = "null";
-        }else{
-          showCode = this.displayConfig.showCode;
         }
-        this.$axios.get('/accuracyPassRate/realTimeCharts/day/'+this.rtStartTime+'/'+this.rtEndTime+'/'+showCode).then((res) => {
-          this.rpDrawData = res.data;
+        // 平均统计值
+        this.statisticsDraw(this.stDrawData)
+        // 表分页格数据总条数
+        this.tableColumn = [
+          {field: 'time', title: this.$t('时间'), width: 200},
+        ]
+        for (let i = 0; i < this.listsquery.length; i++) {
+          var colunm = {
+            field: this.listsquery[i].value, title: this.listsquery[i].key
+          }
+          this.tableColumn.push(colunm)
+        }
+        this.loading = false
+      }).catch((error) => {
+        this.loading = false
+        this.$message.error(this.$t('查询准确率table出错') + error)
+      })
+    },
+    // 获取实时数据
+    getRealTimeDraw() {
+      let showCode;
+      if (this.displayConfig.showCode == null || this.displayConfig.showCode == "") {
+        showCode = "null";
+      } else {
+        showCode = this.displayConfig.showCode;
+      }
+      this.$axios.get('/accuracyPassRate/realTimeCharts/day/' + this.rtStartTime + '/' + this.rtEndTime + '/' + showCode).then((res) => {
+        this.rpDrawData = res.data;
 
-          for(var key in this.rpDrawData){
-            if(key != "times" && key !="accuracyRate"){
-              for (let i = 0; i < this.rpDrawData[key].length; i++) {
-                if(this.rpDrawData[key][i]!=null){
-                  this.rpDrawData[key][i] = parseFloat(this.rpDrawData[key][i])
-                }
+        for (var key in this.rpDrawData) {
+          if (key != "times" && key != "accuracyRate") {
+            for (let i = 0; i < this.rpDrawData[key].length; i++) {
+              if (this.rpDrawData[key][i] != null) {
+                this.rpDrawData[key][i] = parseFloat(this.rpDrawData[key][i])
               }
             }
+          }
         }
-          this.realTimeDraw(this.rpDrawData)
-        })
-      },
-      handlePageChange ({ currentPage, pageSize }) {
-        this.currentPage = currentPage
-        this.pageSize = pageSize
-        this.startTime = this.queryStartTime
-        this.endTime = this.queryEndTime
+        this.realTimeDraw(this.rpDrawData)
+      })
+    },
+    handlePageChange({currentPage, pageSize}) {
+      this.currentPage = currentPage
+      this.pageSize = pageSize
+      this.startTime = this.queryStartTime
+      this.endTime = this.queryEndTime
 
-      },
+    },
 
-      realTimeDraw(data) {
-        // 如果是南网,则不显示准确率阈值红线,否则显示
-        if(this.province=="E44" ||this.province=="E45" ||this.province=="E46"  ||this.province=="E52" ||this.province=="E53"  ){
-          this.markLineData = [];
-        }else {
-          this.markLineData = [{
-            label:{
-              position:'end',
-              formatter:"准确率"
-            },
-            yAxis: data.accuracyRate.split(',')[0]
+    realTimeDraw(data) {
+      // 如果是南网,则不显示准确率阈值红线,否则显示
+      if (this.province == "E44" || this.province == "E45" || this.province == "E46" || this.province == "E52" || this.province == "E53") {
+        this.markLineData = [];
+      } else {
+        this.markLineData = [{
+          label: {
+            position: 'end',
+            formatter: this.$t("准确率")
           },
-            {
-              label:{
-                position:'end',
-                formatter:"合格率"
-              },
-              yAxis: data.accuracyRate.split(',')[1]
-            }]
-        }
-
-        var lastindex = data.times.length-1
-        this.chart = echarts.init(document.getElementById('rtChats'))
-        var option = {
-          title: {
-            text: '实时 ',
-            subtext: data.times[0]+'-'+data.times[lastindex],
-            textStyle: {
-              fontWeight: 'normal',
-              fontSize: 16,
-              color: this.lineColor
+          yAxis: data.accuracyRate.split(',')[0]
+        },
+          {
+            label: {
+              position: 'end',
+              formatter: this.$t("合格率")
             },
-            left: '1%'
+            yAxis: data.accuracyRate.split(',')[1]
+          }]
+      }
+
+      var lastindex = data.times.length - 1
+      this.chart = echarts.init(document.getElementById('rtChats'))
+      var option = {
+        title: {
+          text: this.$t('实时 '),
+          subtext: data.times[0] + '-' + data.times[lastindex],
+          textStyle: {
+            fontWeight: 'normal',
+            fontSize: 16,
+            color: this.lineColor
           },
-          tooltip: {
-            trigger: 'axis',
-            axisPointer: {
-              lineStyle: {
-                color: '#57617B'
-              }
+          left: '1%'
+        },
+        tooltip: {
+          trigger: 'axis',
+          axisPointer: {
+            lineStyle: {
+              color: '#57617B'
             }
-          },
-          legend: {
-            top: 25,
-            icon: 'rect',
-            itemWidth: 14,
-            itemHeight: 5,
-            itemGap: 13,
-            data: [],
-            right: '2%',
-            textStyle: {
-              fontSize: 12,
+          }
+        },
+        legend: {
+          top: 25,
+          icon: 'rect',
+          itemWidth: 14,
+          itemHeight: 5,
+          itemGap: 13,
+          data: [],
+          right: '2%',
+          textStyle: {
+            fontSize: 12,
+            color: this.lineColor
+          }
+        },
+        dataZoom: [{
+          show: true,
+          realtime: true,
+          start: 0,
+          end: 100,
+          left: "15%",
+          right: "15%",
+          textStyle: {
+            color: this.lineColor
+          }
+        },
+          {
+            type: 'inside'
+          }],
+        grid: {
+          top: 100,
+          left: '2%',
+          right: '5%',
+          bottom: '10%',
+          containLabel: true
+        },
+        xAxis: {
+          type: 'category',
+          boundaryGap: false,
+          data: data.times,
+          axisLine: {
+            lineStyle: {
               color: this.lineColor
             }
-          },
-          dataZoom: [{
-            show: true,
-            realtime: true,
-            start: 0,
-            end: 100,
-            left: "15%",
-            right: "15%",
-            textStyle: {
+          }
+        },
+        yAxis: {
+          type: 'value',
+          name: '(%)',
+          max: 100,
+          min: 0,
+          axisLine: {
+            lineStyle: {
               color: this.lineColor
             }
           },
-            {
-              type: 'inside'
-            }],
-          grid: {
-            top: 100,
-            left: '2%',
-            right: '5%',
-            bottom: '10%',
-            containLabel: true
-          },
-          xAxis: {
-            type: 'category',
-            boundaryGap: false,
-            data: data.times,
-            axisLine: {
-              lineStyle: {
-                color: this.lineColor
-              }
+          axisLabel: {
+            margin: 10,
+            textStyle: {
+              fontSize: 14
             }
           },
-          yAxis: {
-            type: 'value',
-            name: '(%)',
-            max: 100,
-            min: 0,
-            axisLine: {
-              lineStyle: {
-                color: this.lineColor
-              }
-            },
-            axisLabel: {
-              margin: 10,
-              textStyle: {
-                fontSize: 14
-              }
-            },
-            splitLine: {
-              lineStyle: {
-                color: '#57617B'
-              }
+          splitLine: {
+            lineStyle: {
+              color: '#57617B'
+            }
+          }
+        },
+        series: []
+      };
+      var optionTitleText = "";
+      if (data.midTermAccuracy != undefined) {
+        optionTitleText += this.$t('中期准确率') + ':' + ((data.midTermAccuracy[lastindex] == null || isNaN(data.midTermAccuracy[lastindex])) ? "--- " : data.midTermAccuracy[lastindex] + " ")
+        option.series.push({
+          name: this.$t('中期准确率'),
+          type: 'line',
+          showSymbol: false,
+          itemStyle: {
+            normal: {
+
+              color: '#df13ee',
+              borderColor: 'rgba(50,194,219,0.2)',
+              borderWidth: 12
             }
           },
-          series: []
-        };
-        var optionTitleText = "";
-        if(data.midTermAccuracy != undefined){
-          optionTitleText+='中期准确率:'+((data.midTermAccuracy[lastindex] == null || isNaN(data.midTermAccuracy[lastindex])) ? "--- ":data.midTermAccuracy[lastindex]+" ")
-          option.series.push({
-            name: '中期准确率',
-            type: 'line',
-            showSymbol: false,
+          markLine: {
+            silent: true,
             itemStyle: {
               normal: {
-
-                color: '#df13ee',
-                borderColor: 'rgba(50,194,219,0.2)',
-                borderWidth: 12
+                show: true,
+                color: 'red'
               }
             },
-            markLine: {
-              silent: true,
-              itemStyle:{
-                normal:{
-                  show:true,
-                  color:'red'
-                }
-              },
-              data: this.markLineData
-            },
-            data: data.midTermAccuracy
-          })
-          option.legend.data.push('中期准确率')
-        }
-        if(data.midTermPassRate != undefined){
-          optionTitleText+= '中期合格率:'+((data.midTermPassRate[lastindex] == null || isNaN(data.midTermPassRate[lastindex])) ? "--- ":data.midTermPassRate[lastindex]+" ")
-          option.series.push({
-            name: '中期合格率',
-            type: 'line',
-            showSymbol: false,
+            data: this.markLineData
+          },
+          data: data.midTermAccuracy
+        })
+        option.legend.data.push(this.$t('中期准确率'))
+      }
+      if (data.midTermPassRate != undefined) {
+        optionTitleText += this.$t('中期合格率')+':' + ((data.midTermPassRate[lastindex] == null || isNaN(data.midTermPassRate[lastindex])) ? "--- " : data.midTermPassRate[lastindex] + " ")
+        option.series.push({
+          name: this.$t('中期合格率'),
+          type: 'line',
+          showSymbol: false,
+          itemStyle: {
+            normal: {
+              color: '#6bb3ff',
+              borderColor: 'rgba(50,194,219,0.2)',
+              borderWidth: 12
+            }
+          },
+          markLine: {
+            silent: true,
             itemStyle: {
               normal: {
-                color: '#6bb3ff',
-                borderColor: 'rgba(50,194,219,0.2)',
-                borderWidth: 12
+                show: true,
+                color: 'red'
               }
             },
-            markLine: {
-              silent: true,
-              itemStyle:{
-                normal:{
-                  show:true,
-                  color:'red'
-                }
-              },
-              data: this.markLineData
-            },
-            data: data.midTermPassRate
-          })
-          option.legend.data.push('中期合格率')
-        }
-        if(data.shortTermAccuracy != undefined){
-          optionTitleText+='短期准确率:'+((data.shortTermAccuracy[lastindex] == null || isNaN(data.shortTermAccuracy[lastindex])) ? "--- ":data.shortTermAccuracy[lastindex]+" ")
-          option.series.push({
-            name: '短期准确率',
-            type: 'line',
-            showSymbol: false,
+            data: this.markLineData
+          },
+          data: data.midTermPassRate
+        })
+        option.legend.data.push(this.$t('中期合格率'))
+      }
+      if (data.shortTermAccuracy != undefined) {
+        optionTitleText += this.$t('短期准确率') + ':' + ((data.shortTermAccuracy[lastindex] == null || isNaN(data.shortTermAccuracy[lastindex])) ? "--- " : data.shortTermAccuracy[lastindex] + " ")
+        option.series.push({
+          name: this.$t('短期准确率'),
+          type: 'line',
+          showSymbol: false,
+          itemStyle: {
+            normal: {
+              color: '#cccc99',
+              borderColor: 'rgba(50,194,219,0.2)',
+              borderWidth: 12
+            }
+          },
+          markLine: {
+            silent: true,
             itemStyle: {
               normal: {
-                color: '#cccc99',
-                borderColor: 'rgba(50,194,219,0.2)',
-                borderWidth: 12
+                show: true,
+                color: 'red'
               }
             },
-            markLine: {
-              silent: true,
-              itemStyle:{
-                normal:{
-                  show:true,
-                  color:'red'
-                }
-              },
-              data: this.markLineData
-            },
-            data: data.shortTermAccuracy
-          })
-          option.legend.data.push('短期准确率')
-        }
+            data: this.markLineData
+          },
+          data: data.shortTermAccuracy
+        })
+        option.legend.data.push(this.$t('短期准确率'))
+      }
+
+      if (data.tenDayShortTermAccuracy != undefined) {
+        optionTitleText += this.$t('短期第十天准确率') + ':' + ((data.tenDayShortTermAccuracy[lastindex] == null || isNaN(data.tenDayShortTermAccuracy[lastindex])) ? "--- " : data.tenDayShortTermAccuracy[lastindex] + " ")
+        option.series.push({
+          name: this.$t('短期第十天准确率'),
+          type: 'line',
+          showSymbol: false,
+          itemStyle: {
+            normal: {
 
-        if(data.tenDayShortTermAccuracy != undefined){
-          optionTitleText+='短期第十天准确率:'+((data.tenDayShortTermAccuracy[lastindex] == null || isNaN(data.tenDayShortTermAccuracy[lastindex])) ? "--- ":data.tenDayShortTermAccuracy[lastindex]+" ")
-          option.series.push({
-            name: '短期第十天准确率',
-            type: 'line',
-            showSymbol: false,
+              color: '#cccc99',
+              borderColor: 'rgba(50,194,219,0.2)',
+              borderWidth: 12
+            }
+          },
+          markLine: {
+            silent: true,
             itemStyle: {
               normal: {
-
-                color: '#cccc99',
-                borderColor: 'rgba(50,194,219,0.2)',
-                borderWidth: 12
+                show: true,
+                color: 'red'
               }
             },
-            markLine: {
-              silent: true,
-              itemStyle:{
-                normal:{
-                  show:true,
-                  color:'red'
-                }
-              },
-              data: this.markLineData
-            },
-            data: data.tenDayShortTermAccuracy
-          })
-          option.legend.data.push('短期第十天准确率')
-        }
-        if(data.shortTermPassRate != undefined){
-          optionTitleText+= '短期合格率:'+((data.shortTermPassRate[lastindex] == null || isNaN(data.shortTermPassRate[lastindex])) ? "--- ":data.shortTermPassRate[lastindex]+" ")
-          option.series.push({
-            name: '短期合格率',
-            type: 'line',
-            showSymbol: false,
+            data: this.markLineData
+          },
+          data: data.tenDayShortTermAccuracy
+        })
+        option.legend.data.push(this.$t('短期第十天准确率'))
+      }
+      if (data.shortTermPassRate != undefined) {
+        optionTitleText += this.$t('短期合格率') + ':' + ((data.shortTermPassRate[lastindex] == null || isNaN(data.shortTermPassRate[lastindex])) ? "--- " : data.shortTermPassRate[lastindex] + " ")
+        option.series.push({
+          name: this.$t('短期合格率'),
+          type: 'line',
+          showSymbol: false,
+          itemStyle: {
+            normal: {
+
+              color: '#ff6b6b',
+              borderColor: 'rgba(50,194,219,0.2)',
+              borderWidth: 12
+            }
+          },
+          markLine: {
+            silent: true,
             itemStyle: {
               normal: {
-
-                color: '#ff6b6b',
-                borderColor: 'rgba(50,194,219,0.2)',
-                borderWidth: 12
+                show: true,
+                color: 'red'
               }
             },
-            markLine: {
-              silent: true,
-              itemStyle:{
-                normal:{
-                  show:true,
-                  color:'red'
-                }
-              },
-              data: this.markLineData
-            },
-            data: data.shortTermPassRate
-          })
-          option.legend.data.push('短期合格率')
-        }
-        if(data.ultraShortTermAccuracy != undefined){
-          optionTitleText+= '超短期准确率:'+((data.ultraShortTermAccuracy[lastindex]==null || isNaN(data.ultraShortTermAccuracy[lastindex])) ? "--- " : data.ultraShortTermAccuracy[lastindex]+" " )
-          option.series.push({
-            name: '超短期准确率',
-            type: 'line',
-            showSymbol: false,
+            data: this.markLineData
+          },
+          data: data.shortTermPassRate
+        })
+        option.legend.data.push(this.$t('短期合格率'))
+      }
+      if (data.ultraShortTermAccuracy != undefined) {
+        optionTitleText += this.$t('超短期准确率') + ':' + ((data.ultraShortTermAccuracy[lastindex] == null || isNaN(data.ultraShortTermAccuracy[lastindex])) ? "--- " : data.ultraShortTermAccuracy[lastindex] + " ")
+        option.series.push({
+          name: this.$t('超短期准确率'),
+          type: 'line',
+          showSymbol: false,
+          itemStyle: {
+            normal: {
+
+              color: '#669966',
+              borderColor: 'rgba(50,194,219,0.2)',
+              borderWidth: 12
+            }
+          },
+          markLine: {
+            silent: true,
             itemStyle: {
               normal: {
-
-                color: '#669966',
-                borderColor: 'rgba(50,194,219,0.2)',
-                borderWidth: 12
+                show: true,
+                color: 'red'
               }
             },
-            markLine: {
-              silent: true,
-              itemStyle:{
-                normal:{
-                  show:true,
-                  color:'red'
-                }
-              },
-              data: this.markLineData
-            },
-            data: data.ultraShortTermAccuracy
-          })
-          option.legend.data.push('超短期准确率')
-        }
-        if(data.ultraShortTermPassRate != undefined){
-          optionTitleText+= '超短期合格率:'+((data.ultraShortTermPassRate[lastindex] == null || isNaN(data.ultraShortTermPassRate[lastindex])) ? "--- ":data.ultraShortTermPassRate[lastindex]+" ")
-          option.series.push({
-            name: '超短期合格率',
-            type: 'line',
-            showSymbol: false,
+            data: this.markLineData
+          },
+          data: data.ultraShortTermAccuracy
+        })
+        option.legend.data.push(this.$t('超短期准确率'))
+      }
+      if (data.ultraShortTermPassRate != undefined) {
+        optionTitleText += this.$t('超短期合格率') + ':' + ((data.ultraShortTermPassRate[lastindex] == null || isNaN(data.ultraShortTermPassRate[lastindex])) ? "--- " : data.ultraShortTermPassRate[lastindex] + " ")
+        option.series.push({
+          name: this.$t('超短期合格率'),
+          type: 'line',
+          showSymbol: false,
+          itemStyle: {
+            normal: {
+
+              color: '#66CC66',
+              borderColor: 'rgba(50,194,219,0.2)',
+              borderWidth: 12
+            }
+          },
+          markLine: {
+            silent: true,
             itemStyle: {
               normal: {
-
-                color: '#66CC66',
-                borderColor: 'rgba(50,194,219,0.2)',
-                borderWidth: 12
+                show: true,
+                color: 'red'
               }
             },
-            markLine: {
-              silent: true,
-              itemStyle:{
-                normal:{
-                  show:true,
-                  color:'red'
-                }
-              },
-              data: this.markLineData
-            },
-            data: data.ultraShortTermPassRate
-          })
-          option.legend.data.push('超短期合格率')
-        }
-        option.title.text ="实时 "+optionTitleText
-        this.chart.setOption(option, true)
-        /*window.onresize = chart.resize()*/
-      },
-      statisticsDraw(data) {
-        // 如果是南网,则不显示准确率阈值红线,否则显示
-        if(this.province=="E44" ||this.province=="E45" ||this.province=="E46"  ||this.province=="E52" ||this.province=="E53"  ){
-          this.markLineData = [];
-        }else {
-          this.markLineData = [{
-            label:{
-              position:'end',
-              formatter:"准确率"
-            },
-            yAxis: data.accuracyRate.split(',')[0]
+            data: this.markLineData
           },
-            {
-              label:{
-                position:'end',
-                formatter:"合格率"
-              },
-              yAxis: data.accuracyRate.split(',')[1]
-            }]
-        }
-
-        var lastindex = data.times.length-1
-        this.chart2 = echarts.init(document.getElementById('statisticsChats'))
-        var option = {
-          title: {
-            text: '统计 ',
-            subtext: data.times[0]+'-'+data.times[lastindex],
-            textStyle: {
-              fontWeight: 'normal',
-              fontSize: 16,
-              color: this.lineColor
+          data: data.ultraShortTermPassRate
+        })
+        option.legend.data.push(this.$t('超短期合格率'))
+      }
+      option.title.text = this.$t("实时")+ optionTitleText
+      this.chart.setOption(option, true)
+      /*window.onresize = chart.resize()*/
+    },
+    statisticsDraw(data) {
+      // 如果是南网,则不显示准确率阈值红线,否则显示
+      if (this.province == "E44" || this.province == "E45" || this.province == "E46" || this.province == "E52" || this.province == "E53") {
+        this.markLineData = [];
+      } else {
+        this.markLineData = [{
+          label: {
+            position: 'end',
+            formatter: this.$t("准确率")
+          },
+          yAxis: data.accuracyRate.split(',')[0]
+        },
+          {
+            label: {
+              position: 'end',
+              formatter: this.$t("合格率")
             },
-            left: '1%'
+            yAxis: data.accuracyRate.split(',')[1]
+          }]
+      }
+
+      var lastindex = data.times.length - 1
+      this.chart2 = echarts.init(document.getElementById('statisticsChats'))
+      var option = {
+        title: {
+          text: this.$t('统计'),
+          subtext: data.times[0] + '-' + data.times[lastindex],
+          textStyle: {
+            fontWeight: 'normal',
+            fontSize: 16,
+            color: this.lineColor
           },
-          tooltip: {
-            trigger: 'axis',
-            axisPointer: {
-              lineStyle: {
-                color: '#57617B'
-              }
+          left: '1%'
+        },
+        tooltip: {
+          trigger: 'axis',
+          axisPointer: {
+            lineStyle: {
+              color: '#57617B'
             }
-          },
-          legend: {
-            top: 25,
-            icon: 'rect',
-            itemWidth: 14,
-            itemHeight: 5,
-            itemGap: 13,
-            data: [],
-            right: '4%',
-            textStyle: {
-              fontSize: 12,
+          }
+        },
+        legend: {
+          top: 25,
+          icon: 'rect',
+          itemWidth: 14,
+          itemHeight: 5,
+          itemGap: 13,
+          data: [],
+          right: '4%',
+          textStyle: {
+            fontSize: 12,
+            color: this.lineColor
+          }
+        },
+        dataZoom: [{
+          show: true,
+          realtime: true,
+          start: 0,
+          end: 100,
+          left: "15%",
+          right: "15%",
+          textStyle: {
+            color: this.lineColor
+          }
+        },
+          {
+            type: 'inside'
+          }],
+        grid: {
+          top: 100,
+          left: '2%',
+          right: '5%',
+          bottom: '10%',
+          containLabel: true
+        },
+        xAxis: {
+          type: 'category',
+          boundaryGap: false,
+          data: data.times,
+          axisLine: {
+            lineStyle: {
               color: this.lineColor
             }
-          },
-          dataZoom: [{
-            show: true,
-            realtime: true,
-            start: 0,
-            end: 100,
-            left: "15%",
-            right: "15%",
-            textStyle: {
+          }
+        },
+        yAxis: {
+          type: 'value',
+          name: '(%)',
+          max: 100,
+          min: 0,
+          axisLine: {
+            lineStyle: {
               color: this.lineColor
             }
           },
-            {
-              type: 'inside'
-            }],
-          grid: {
-            top: 100,
-            left: '2%',
-            right: '5%',
-            bottom: '10%',
-            containLabel: true
-          },
-          xAxis: {
-            type: 'category',
-            boundaryGap: false,
-            data: data.times,
-            axisLine: {
-              lineStyle: {
-                color: this.lineColor
-              }
+          axisLabel: {
+            margin: 10,
+            textStyle: {
+              fontSize: 14
             }
           },
-          yAxis: {
-            type: 'value',
-            name: '(%)',
-            max: 100,
-            min: 0,
-            axisLine: {
-              lineStyle: {
-                color: this.lineColor
-              }
-            },
-            axisLabel: {
-              margin: 10,
-              textStyle: {
-                fontSize: 14
-              }
-            },
-            splitLine: {
-              lineStyle: {
-                color: '#57617B'
-              }
+          splitLine: {
+            lineStyle: {
+              color: '#57617B'
             }
-          },
-          series: []
-        };
+          }
+        },
+        series: []
+      };
 
-        // 统计/平均 echarts数据
-        var optionTitleText = "";
-        if(data.midTermAccuracy != undefined){
-          optionTitleText+="中期准确率:"+(isNaN(this.midAccuracyAVG) || this.midAccuracyAVG == null ? '---':this.midAccuracyAVG)
-          option.series.push({
-            name: '中期准确率',
-            type: 'line',
-            showSymbol: false,
+      // 统计/平均 echarts数据
+      var optionTitleText = "";
+      if (data.midTermAccuracy != undefined) {
+        optionTitleText += this.$t('中期准确率')+":" + (isNaN(this.midAccuracyAVG) || this.midAccuracyAVG == null ? '---' : this.midAccuracyAVG)
+        option.series.push({
+          name: this.$t('中期准确率'),
+          type: 'line',
+          showSymbol: false,
+          itemStyle: {
+            normal: {
+              color: '#df13ee',
+              borderColor: 'rgba(50,194,219,0.2)',
+              borderWidth: 12
+            }
+          },
+          markLine: {
+            silent: true,
             itemStyle: {
               normal: {
-                color: '#df13ee',
-                borderColor: 'rgba(50,194,219,0.2)',
-                borderWidth: 12
+                show: true,
+                color: 'red'
               }
             },
-            markLine: {
-              silent: true,
-              itemStyle:{
-                normal:{
-                  show:true,
-                  color:'red'
-                }
-              },
-              data: this.markLineData
-            },
-            data: data.midTermAccuracy
-          })
-          option.legend.data.push('中期准确率')
-        }
-        if(data.midTermPassRate != undefined){
-          optionTitleText+="中期合格率:"+(isNaN(this.midRateValueAVG) || this.midRateValueAVG == null ? '---':this.midRateValueAVG)
-          option.series.push({
-            name: '中期合格率',
-            type: 'line',
-            showSymbol: false,
+            data: this.markLineData
+          },
+          data: data.midTermAccuracy
+        })
+        option.legend.data.push(this.$t('中期准确率'))
+      }
+      if (data.midTermPassRate != undefined) {
+        optionTitleText +=  this.$t('中期合格率')+":" + (isNaN(this.midRateValueAVG) || this.midRateValueAVG == null ? '---' : this.midRateValueAVG)
+        option.series.push({
+          name: this.$t('中期合格率'),
+          type: 'line',
+          showSymbol: false,
+
+          itemStyle: {
+            normal: {
 
+              color: '#6bb3ff',
+              borderColor: 'rgba(50,194,219,0.2)',
+              borderWidth: 12
+            }
+          },
+          markLine: {
+            silent: true,
             itemStyle: {
               normal: {
-
-                color: '#6bb3ff',
-                borderColor: 'rgba(50,194,219,0.2)',
-                borderWidth: 12
+                show: true,
+                color: 'red'
               }
             },
-            markLine: {
-              silent: true,
-              itemStyle:{
-                normal:{
-                  show:true,
-                  color:'red'
-                }
-              },
-              data: this.markLineData
-            },
-            data: data.midTermPassRate
-          })
-          option.legend.data.push('中期合格率')
-        }
-        if(data.shortTermAccuracy != undefined){
-          optionTitleText+="短期准确率:"+(isNaN(this.dqAccuracyAVG) || this.dqAccuracyAVG == null ? '---':this.dqAccuracyAVG)
-          option.series.push({
-            name: '短期准确率',
-            type: 'line',
-            showSymbol: false,
+            data: this.markLineData
+          },
+          data: data.midTermPassRate
+        })
+        option.legend.data.push(this.$t('中期合格率'))
+      }
+      if (data.shortTermAccuracy != undefined) {
+        optionTitleText += this.$t('短期准确率')+":" + (isNaN(this.dqAccuracyAVG) || this.dqAccuracyAVG == null ? '---' : this.dqAccuracyAVG)
+        option.series.push({
+          name: this.$t('短期准确率'),
+          type: 'line',
+          showSymbol: false,
+          itemStyle: {
+            normal: {
+              color: '#cccc99',
+              borderColor: 'rgba(50,194,219,0.2)',
+              borderWidth: 12
+            }
+          },
+          markLine: {
+            silent: true,
             itemStyle: {
               normal: {
-                color: '#cccc99',
-                borderColor: 'rgba(50,194,219,0.2)',
-                borderWidth: 12
+                show: true,
+                color: 'red'
               }
             },
-            markLine: {
-              silent: true,
-              itemStyle:{
-                normal:{
-                  show:true,
-                  color:'red'
-                }
-              },
-              data: this.markLineData
-            },
-            data: data.shortTermAccuracy
-          })
-          option.legend.data.push('短期准确率')
-        }
-        if(data.tenDayShortTermAccuracy != undefined){
-          optionTitleText+="短期第十天准确率:"+(isNaN(this.tenDayDqAccuracyAVG) || this.tenDayDqAccuracyAVG == null ? '---':this.tenDayDqAccuracyAVG)
-          option.series.push({
-            name: '短期第十天准确率',
-            type: 'line',
-            showSymbol: false,
+            data: this.markLineData
+          },
+          data: data.shortTermAccuracy
+        })
+        option.legend.data.push(this.$t('短期准确率'))
+      }
+      if (data.tenDayShortTermAccuracy != undefined) {
+        optionTitleText += this.$t('短期第十天准确率')+":" + (isNaN(this.tenDayDqAccuracyAVG) || this.tenDayDqAccuracyAVG == null ? '---' : this.tenDayDqAccuracyAVG)
+        option.series.push({
+          name: this.$t('短期第十天准确率'),
+          type: 'line',
+          showSymbol: false,
+          itemStyle: {
+            normal: {
+              color: '#cccc99',
+              borderColor: 'rgba(50,194,219,0.2)',
+              borderWidth: 12
+            }
+          },
+          markLine: {
+            silent: true,
             itemStyle: {
               normal: {
-                color: '#cccc99',
-                borderColor: 'rgba(50,194,219,0.2)',
-                borderWidth: 12
+                show: true,
+                color: 'red'
               }
             },
-            markLine: {
-              silent: true,
-              itemStyle:{
-                normal:{
-                  show:true,
-                  color:'red'
-                }
-              },
-              data: this.markLineData
-            },
-            data: data.tenDayShortTermAccuracy
-          })
-          option.legend.data.push('短期第十天准确率')
-        }
-        if(data.shortTermPassRate != undefined){
-          optionTitleText+="短期合格率:"+(isNaN(this.dqRateValueAVG) || this.dqRateValueAVG == null ? '---':this.dqRateValueAVG)
-          option.series.push({
-            name: '短期合格率',
-            type: 'line',
-            showSymbol: false,
+            data: this.markLineData
+          },
+          data: data.tenDayShortTermAccuracy
+        })
+        option.legend.data.push(this.$t('短期第十天准确率'))
+      }
+      if (data.shortTermPassRate != undefined) {
+        optionTitleText += this.$t('短期合格率')+":" + (isNaN(this.dqRateValueAVG) || this.dqRateValueAVG == null ? '---' : this.dqRateValueAVG)
+        option.series.push({
+          name: this.$t('短期合格率'),
+          type: 'line',
+          showSymbol: false,
+          itemStyle: {
+            normal: {
+              color: '#ff6b6b',
+              borderColor: 'rgba(50,194,219,0.2)',
+              borderWidth: 12
+            }
+          },
+          markLine: {
+            silent: true,
             itemStyle: {
               normal: {
-                color: '#ff6b6b',
-                borderColor: 'rgba(50,194,219,0.2)',
-                borderWidth: 12
+                show: true,
+                color: 'red'
               }
             },
-            markLine: {
-              silent: true,
-              itemStyle:{
-                normal:{
-                  show:true,
-                  color:'red'
-                }
-              },
-              data: this.markLineData
-            },
-            data: data.shortTermPassRate
-          })
-          option.legend.data.push('短期合格率')
-        }
-        if(data.ultraShortTermAccuracy != undefined){
-          optionTitleText+="超短期准确率:"+(isNaN(this.cdqAccuracyAVG) || this.cdqAccuracyAVG == null ? '---':this.cdqAccuracyAVG)
-          option.series.push({
-            name: '超短期准确率',
-            type: 'line',
-            showSymbol: false,
+            data: this.markLineData
+          },
+          data: data.shortTermPassRate
+        })
+        option.legend.data.push(this.$t('短期合格率'))
+      }
+      if (data.ultraShortTermAccuracy != undefined) {
+        optionTitleText += this.$t('超短期准确率')+":" + (isNaN(this.cdqAccuracyAVG) || this.cdqAccuracyAVG == null ? '---' : this.cdqAccuracyAVG)
+        option.series.push({
+          name: this.$t('超短期准确率'),
+          type: 'line',
+          showSymbol: false,
+          itemStyle: {
+            normal: {
+
+              color: '#669966',
+              borderColor: 'rgba(50,194,219,0.2)',
+              borderWidth: 12
+            }
+          },
+          markLine: {
+            silent: true,
             itemStyle: {
               normal: {
-
-                color: '#669966',
-                borderColor: 'rgba(50,194,219,0.2)',
-                borderWidth: 12
+                show: true,
+                color: 'red'
               }
             },
-            markLine: {
-              silent: true,
-              itemStyle:{
-                normal:{
-                  show:true,
-                  color:'red'
-                }
-              },
-              data: this.markLineData
-            },
-            data: data.ultraShortTermAccuracy
-          })
-          option.legend.data.push('超短期准确率')
-        }
-        if(data.ultraShortTermPassRate != undefined){
-          optionTitleText+="超短期合格率:"+(isNaN(this.cdqRateValueAVG) || this.cdqRateValueAVG == null ? '---':this.cdqRateValueAVG)
-          option.series.push({
-            name: '超短期合格率',
-            type: 'line',
-            showSymbol: false,
+            data: this.markLineData
+          },
+          data: data.ultraShortTermAccuracy
+        })
+        option.legend.data.push(this.$t('超短期准确率'))
+      }
+      if (data.ultraShortTermPassRate != undefined) {
+        optionTitleText += this.$t('超短期合格率')+":" + (isNaN(this.cdqRateValueAVG) || this.cdqRateValueAVG == null ? '---' : this.cdqRateValueAVG)
+        option.series.push({
+          name: this.$t('超短期合格率'),
+          type: 'line',
+          showSymbol: false,
+          itemStyle: {
+            normal: {
+
+              color: '#66CC66',
+              borderColor: 'rgba(50,194,219,0.2)',
+              borderWidth: 12
+            }
+          },
+          markLine: {
+            silent: true,
             itemStyle: {
               normal: {
-
-                color: '#66CC66',
-                borderColor: 'rgba(50,194,219,0.2)',
-                borderWidth: 12
+                show: true,
+                color: 'red'
               }
             },
-            markLine: {
-              silent: true,
-              itemStyle:{
-                normal:{
-                  show:true,
-                  color:'red'
-                }
-              },
-              data: this.markLineData
-            },
-            data: data.ultraShortTermPassRate
-          })
-          option.legend.data.push('超短期合格率')
-        }
-        option.title.text ="统计 平均/"+optionTitleText
-        this.chart2.setOption(option, true)
-      },
-
-      sortChangeEvent ({ column, property, order }) {
-        if(order == null){
-          order = 'asc'
-        }
-        this.currentPage = 1
-        this.sortOrder = order
-        this.loading = true
-        this.getTable()
-      },
+            data: this.markLineData
+          },
+          data: data.ultraShortTermPassRate
+        })
+        option.legend.data.push(this.$t('超短期合格率'))
+      }
+      option.title.text = this.$t("统计 平均/") + optionTitleText
+      this.chart2.setOption(option, true)
+    },
 
-      checkColumnMethod ({ column }) {
-        if (column.property === 'preTime') {
-          return false
-        }
-        return true
+    sortChangeEvent({column, property, order}) {
+      if (order == null) {
+        order = 'asc'
       }
+      this.currentPage = 1
+      this.sortOrder = order
+      this.loading = true
+      this.getTable()
+    },
 
+    checkColumnMethod({column}) {
+      if (column.property === 'preTime') {
+        return false
+      }
+      return true
     }
+
   }
+}
 </script>
 
 <style scoped>
 
-  .tableContent {
-    /*width: 100%;*/
-    height: 40%;
-  }
+.tableContent {
+  /*width: 100%;*/
+  height: 40%;
+}
 
-  .drag-box-item {
-    /*margin:10px;*/
-    flex: 1;
-    height: 220px;
-    max-width: 100%;
-    min-width: 100%;
-    background-color: #eff1f5;
-    margin-right: 16px;
-    border-radius: 6px;
-    border: 1px #e1e4e8 solid;
-  }
+.drag-box-item {
+  /*margin:10px;*/
+  flex: 1;
+  height: 220px;
+  max-width: 100%;
+  min-width: 100%;
+  background-color: #eff1f5;
+  margin-right: 16px;
+  border-radius: 6px;
+  border: 1px #e1e4e8 solid;
+}
 
-  .item-title {
-    padding: 8px 8px 8px 12px;
-    font-size: 14px;
-    line-height: 1.5;
-    color: #24292e;
-    font-weight: 600;
-  }
+.item-title {
+  padding: 8px 8px 8px 12px;
+  font-size: 14px;
+  line-height: 1.5;
+  color: #24292e;
+  font-weight: 600;
+}
 
-  .item-ul {
-    padding: 0 8px 8px;
-    height: 200px;
-    overflow-y: scroll;
-  }
+.item-ul {
+  padding: 0 8px 8px;
+  height: 200px;
+  overflow-y: scroll;
+}
 
-  .item-ul::-webkit-scrollbar {
-    width: 0;
-  }
+.item-ul::-webkit-scrollbar {
+  width: 0;
+}
 
-  .drag-list {
-    width: 14%;
-    float: left;
-    border: 1px #e1e4e8 solid;
-    padding: 10px;
-    /*margin: 5px 0 10px;*/
-    list-style: none;
-    background-color: #fff;
-    border-radius: 6px;
-    cursor: pointer;
-    -webkit-transition: border .3s ease-in;
-    transition: border .3s ease-in;
-  }
+.drag-list {
+  width: 14%;
+  float: left;
+  border: 1px #e1e4e8 solid;
+  padding: 10px;
+  /*margin: 5px 0 10px;*/
+  list-style: none;
+  background-color: #fff;
+  border-radius: 6px;
+  cursor: pointer;
+  -webkit-transition: border .3s ease-in;
+  transition: border .3s ease-in;
+}
 
-  .drag-list:hover {
-    border: 1px solid #20a0ff;
-  }
+.drag-list:hover {
+  border: 1px solid #20a0ff;
+}
 
-  .inputNum {
-    height: 50px;
-    text-align: right;
-  }
-  .accuracyPassRate{
-    width: 49%;
-    height: 100%;
-    margin-top: 20px;
-  }
+.inputNum {
+  height: 50px;
+  text-align: right;
+}
+
+.accuracyPassRate {
+  width: 49%;
+  height: 100%;
+  margin-top: 20px;
+}
 </style>
 

+ 107 - 107
ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/accuracyPassRateMonth/index.vue

@@ -2,43 +2,43 @@
   <div class="chart-container" >
     <div class="filter">
       <div class="startTime">
-        <span class="timeText">起始时间</span>
+        <span class="timeText">{{this.$t('起始时间')}}</span>
 
         <el-date-picker
           v-model="startTime"
           :clearable="false"
           type="month"
           value-format="timestamp"
-          placeholder="选择日期">
+          :placeholder="this.$t('选择日期')">
         </el-date-picker>
       </div>
       <div class="endTime">
-        <span class="timeText">截止时间</span>
+        <span class="timeText">{{this.$t('截止时间')}}</span>
 
         <el-date-picker
           v-model="endTime"
           :clearable="false"
           type="month"
           value-format="timestamp"
-          placeholder="选择日期">
+          :placeholder="this.$t('选择日期')">
         </el-date-picker>
       </div>
       <div class="timeQuery">
-        <el-button  size="small" :loading="loading"  @click="dateQuery">查询</el-button>
+        <el-button  size="small" :loading="loading"  @click="dateQuery">{{this.$t('查询')}}</el-button>
       </div>
       <div class="timeQuery">
-        <el-button  size="small" :loading="loading"  @click="dialogVisible = true">显示设置</el-button>
+        <el-button  size="small" :loading="loading"  @click="dialogVisible = true">{{this.$t('显示设置')}}</el-button>
       </div>
       <div class="toolbar"> <vxe-toolbar ref="accuracyPassRateToolBar"  export></vxe-toolbar></div>
     </div>
 
     <el-dialog
-      title="选择数据类型"
+      :title="this.$t('选择数据类型')"
       :visible.sync="dialogVisible"
       :before-close="this.cancelDisplay"
       width="50%">
       <div class="drag-box-item">
-        <div class="item-title">隐藏</div>
+        <div class="item-title">{{this.$t('隐藏')}}</div>
         <draggable class="list-group" :list="listh" group="people">
           <transition-group id="done" tag="div" class="item-ul">
             <div
@@ -53,7 +53,7 @@
 
       </div>
       <div class="drag-box-item">
-        <div class="item-title">展示</div>
+        <div class="item-title">{{this.$t('展示')}}</div>
 
         <draggable class="list-group" :list="lists" group="people">
           <transition-group id="wdtodo" tag="div" class="item-ul">
@@ -68,9 +68,9 @@
         </draggable>
       </div>
       <span slot="footer" class="dialog-footer">
-    <el-button @click="this.initShow" style="color: #1f2d3d">初始化</el-button>
-    <el-button @click="this.cancelDisplay" style="color: #1f2d3d">取 消</el-button>
-    <el-button type="primary" style="color: #1f2d3d" @click="this.changeDisplay">确 定</el-button>
+    <el-button @click="this.initShow" style="color: #1f2d3d">{{this.$t('初始化')}}</el-button>
+    <el-button @click="this.cancelDisplay" style="color: #1f2d3d">{{this.$t('取 消')}}</el-button>
+    <el-button type="primary" style="color: #1f2d3d" @click="this.changeDisplay">{{this.$t('确 定')}}</el-button>
   </span>
     </el-dialog>
 
@@ -200,12 +200,12 @@ export default {
     initShow(){
       this.dialogVisible = false
 
-      this.$XModal.confirm('您确定要初始化?').then(type => {
+      this.$XModal.confirm(this.$t('您确定要初始化?')).then(type => {
 
         if (type === 'confirm') {
           this.$axios.get("displayConfig/updateShowCode").then(res =>{
             if(res.code == 0 ){
-              this.$message.success("执行成功!")
+              this.$message.success(this.$t("执行成功!"))
               location.reload()
             }
           })
@@ -257,7 +257,7 @@ export default {
     dateQuery(){
       this.loading = true
       if(this.endTime<this.startTime){
-        this.$message.error("开始时间不能大于结束时间")
+        this.$message.error(this.$t("开始时间不能大于结束时间"))
         this.startTime = this.queryStartTime
         this.endTime = this.queryEndTime
         this.loading = false
@@ -279,63 +279,63 @@ export default {
           var hiddenCodes = this.displayConfig.hiddenCode.split(",");
           for (let i = 0; i <showCodes.length ; i++) {
             if(showCodes[i] == "midTermAccuracy" ){
-              this.lists.push({key:'中期准确率',value:'midTermAccuracy'})
-              this.listsquery.push({key:'中期准确率',value:'midTermAccuracy'})
+              this.lists.push({key: this.$t('中期准确率'),value:'midTermAccuracy'})
+              this.listsquery.push({key:this.$t('中期准确率'),value:'midTermAccuracy'})
             }
             if(showCodes[i] == "midTermAccuracy" ){
-              this.lists.push({key:'中期合格率',value:'midTermPassRate'})
-              this.listsquery.push({key:'中期合格率',value:'midTermPassRate'})
+              this.lists.push({key:this.$t('中期合格率'),value:'midTermPassRate'})
+              this.listsquery.push({key:this.$t('中期合格率'),value:'midTermPassRate'})
             }
             if(showCodes[i] == "shortTermAccuracy" ){
-              this.lists.push({key:'短期准确率',value:'shortTermAccuracy'})
-              this.listsquery.push({key:'短期准确率',value:'shortTermAccuracy'})
+              this.lists.push({key:this.$t('短期准确率'),value:'shortTermAccuracy'})
+              this.listsquery.push({key:this.$t('短期准确率'),value:'shortTermAccuracy'})
             }
             if(showCodes[i] == "tenDayShortTermAccuracy" ){
-              this.lists.push({key:'短期第十天准确率',value:'tenDayShortTermAccuracy'});
-              this.listsquery.push({key:'短期第十天准确率',value:'tenDayShortTermAccuracy'});
+              this.lists.push({key:this.$t('短期第十天准确率'),value:'tenDayShortTermAccuracy'});
+              this.listsquery.push({key:this.$t('短期第十天准确率'),value:'tenDayShortTermAccuracy'});
             }
             if(showCodes[i] == "shortTermPassRate" ){
-              this.lists.push({key:'短期合格率',value:'shortTermPassRate'})
-              this.listsquery.push({key:'短期合格率',value:'shortTermPassRate'})
+              this.lists.push({key:this.$t('短期合格率'),value:'shortTermPassRate'})
+              this.listsquery.push({key:this.$t('短期合格率'),value:'shortTermPassRate'})
             }
             if(showCodes[i] == "ultraShortTermAccuracy" ){
-              this.lists.push({key:'超短期准确率',value:'ultraShortTermAccuracy'})
-              this.listsquery.push({key:'超短期准确率',value:'ultraShortTermAccuracy'})
+              this.lists.push({key:this.$t('超短期准确率'),value:'ultraShortTermAccuracy'})
+              this.listsquery.push({key:this.$t('超短期准确率'),value:'ultraShortTermAccuracy'})
             }
             if(showCodes[i] == "ultraShortTermPassRate" ){
-              this.lists.push({key:'超短期合格率',value:'ultraShortTermPassRate'})
-              this.listsquery.push({key:'超短期合格率',value:'ultraShortTermPassRate'})
+              this.lists.push({key:this.$t('超短期合格率'),value:'ultraShortTermPassRate'})
+              this.listsquery.push({key:this.$t('超短期合格率'),value:'ultraShortTermPassRate'})
             }
           }
 
           for (let i = 0; i <hiddenCodes.length ; i++) {
             if(hiddenCodes[i] == "midTermAccuracy" ){
-              this.listh.push({key:'中期准确率',value:'midTermAccuracy'})
-              this.listhquery.push({key:'中期准确率',value:'midTermAccuracy'})
+              this.listh.push({key:this.$t('中期准确率'),value:'midTermAccuracy'})
+              this.listhquery.push({key:this.$t('中期准确率'),value:'midTermAccuracy'})
             }
             if(hiddenCodes[i] == "midTermPassRate" ){
-              this.listh.push({key:'中期合格率',value:'midTermPassRate'})
-              this.listhquery.push({key:'中期合格率',value:'midTermPassRate'})
+              this.listh.push({key:this.$t('中期合格率'),value:'midTermPassRate'})
+              this.listhquery.push({key:this.$t('中期合格率'),value:'midTermPassRate'})
             }
             if(hiddenCodes[i] == "shortTermAccuracy" ){
-              this.listh.push({key:'短期准确率',value:'shortTermAccuracy'})
-              this.listhquery.push({key:'短期准确率',value:'shortTermAccuracy'})
+              this.listh.push({key:this.$t('短期准确率'),value:'shortTermAccuracy'})
+              this.listhquery.push({key:this.$t('短期准确率'),value:'shortTermAccuracy'})
             }
             if(showCodes[i] == "tenDayShortTermAccuracy" ){
-              this.lists.push({key:'短期第十天准确率',value:'tenDayShortTermAccuracy'});
-              this.listsquery.push({key:'短期第十天准确率',value:'tenDayShortTermAccuracy'});
+              this.lists.push({key:this.$t('短期第十天准确率'),value:'tenDayShortTermAccuracy'});
+              this.listsquery.push({key:this.$t('短期第十天准确率'),value:'tenDayShortTermAccuracy'});
             }
             if(hiddenCodes[i] == "shortTermPassRate" ){
-              this.listh.push({key:'短期合格率',value:'shortTermPassRate'})
-              this.listhquery.push({key:'短期合格率',value:'shortTermPassRate'})
+              this.listh.push({key:this.$t('短期合格率'),value:'shortTermPassRate'})
+              this.listhquery.push({key:this.$t('短期合格率'),value:'shortTermPassRate'})
             }
             if(hiddenCodes[i] == "ultraShortTermAccuracy" ){
-              this.listh.push({key:'超短期准确率',value:'ultraShortTermAccuracy'})
-              this.listhquery.push({key:'超短期准确率',value:'ultraShortTermAccuracy'})
+              this.listh.push({key:this.$t('超短期准确率'),value:'ultraShortTermAccuracy'})
+              this.listhquery.push({key:this.$t('超短期准确率'),value:'ultraShortTermAccuracy'})
             }
             if(hiddenCodes[i] == "ultraShortTermPassRate" ){
-              this.listh.push({key:'超短期合格率',value:'ultraShortTermPassRate'})
-              this.listhquery.push({key:'超短期合格率',value:'ultraShortTermPassRate'})
+              this.listh.push({key:this.$t('超短期合格率'),value:'ultraShortTermPassRate'})
+              this.listhquery.push({key:this.$t('超短期合格率'),value:'ultraShortTermPassRate'})
             }
           }
 
@@ -345,18 +345,18 @@ export default {
           this.displayConfig.showCode="midTermAccuracy,midTermPassRate,shortTermAccuracy,tenDayShortTermAccuracy,shortTermPassRate,ultraShortTermAccuracy,ultraShortTermPassRate"
           this.displayConfig.hiddenCode=""
           this.displayConfig.displayCode="accuracyPassRate"
-          this.lists.push({key:'中期准确率',value:'midTermAccuracy'})
-          this.lists.push({key:'中期合格率',value:'midTermPassRate'})
-          this.lists.push({key:'短期准确率',value:'shortTermAccuracy'})
-          this.lists.push({key:'短期第十天准确率',value:'tenDayShortTermAccuracy'})
-          this.lists.push({key:'短期合格率',value:'shortTermPassRate'})
-          this.lists.push({key:'超短期准确率',value:'ultraShortTermAccuracy'})
-          this.lists.push({key:'超短期合格率',value:'ultraShortTermPassRate'})
+          this.lists.push({key:this.$t('中期准确率'),value:'midTermAccuracy'})
+          this.lists.push({key:this.$t('中期合格率'),value:'midTermPassRate'})
+          this.lists.push({key:this.$t('短期准确率'),value:'shortTermAccuracy'})
+          this.lists.push({key:this.$t('短期第十天准确率'),value:'tenDayShortTermAccuracy'})
+          this.lists.push({key:this.$t('短期合格率'),value:'shortTermPassRate'})
+          this.lists.push({key:this.$t('超短期准确率'),value:'ultraShortTermAccuracy'})
+          this.lists.push({key:this.$t('超短期合格率'),value:'ultraShortTermPassRate'})
           this.$axios.post('/displayConfig',this.displayConfig).then((res) => {
-            this.$message.success('展示设置成功')
+            this.$message.success(this.$t('展示设置成功'))
             this.displayConfig = res.data
           }).catch((error) => {
-            this.$message.error('展示设置出错' + error)
+            this.$message.error(this.$t('展示设置出错') + error)
           })
           this.getTable()
           this.getRealTimeDraw()
@@ -364,7 +364,7 @@ export default {
         this.loading = false
       }).catch((error) => {
         this.loading = false
-        this.$message.error('查询准确率table出错' + error)
+        this.$message.error(this.$t('查询准确率table出错') + error)
       })
     },
 
@@ -387,10 +387,10 @@ export default {
       }
       this.$axios.post('displayConfig/', this.displayConfig).then((res) => {
         this.displayConfig = res.data
-        this.$message.success('展示设置成功')
+        this.$message.success(this.$t('展示设置成功'))
         this.dialogVisible = false
       }).catch((error) => {
-        this.$message.error('展示设置出错' + error)
+        this.$message.error(this.$t('展示设置出错') + error)
       })
 
       this.getTable()
@@ -462,7 +462,7 @@ export default {
         // 表分页格数据总条数
 
         this.tableColumn = [
-          { field: 'time', title: '时间', width:200},
+          { field: 'time', title: this.$t('时间'), width:200},
         ]
         for(let i = 0;i<this.listsquery.length;i++){
           var colunm = {
@@ -474,7 +474,7 @@ export default {
         this.loading = false
       }).catch((error) => {
         this.loading = false
-        this.$message.error('查询准确率table出错' + error)
+        this.$message.error(this.$t('查询准确率table出错') + error)
       })
 
     },
@@ -515,14 +515,14 @@ export default {
         this.markLineData = [{
           label:{
             position:'end',
-            formatter:"准确率"
+            formatter: this.$t("准确率")
           },
           yAxis: data.accuracyRate.split(',')[0]
         },
           {
             label:{
               position:'end',
-              formatter:"合格率"
+              formatter: this.$t("合格率")
             },
             yAxis: data.accuracyRate.split(',')[1]
           }]
@@ -532,7 +532,7 @@ export default {
       this.chart = echarts.init(document.getElementById('rtChats'))
       var option = {
         title: {
-          text: '实时 ',
+          text: this.$t('实时 '),
           subtext: data.times[0]+'-'+data.times[lastindex],
           textStyle: {
             fontWeight: 'normal',
@@ -621,9 +621,9 @@ export default {
       };
       var optionTitleText = "";
       if(data.midTermAccuracy != undefined){
-        optionTitleText+='中期准确率:'+((data.midTermAccuracy[lastindex] == null || isNaN(data.midTermAccuracy[lastindex])) ? "--- ":data.midTermAccuracy[lastindex]+" ")
+        optionTitleText+=this.$t('中期准确率')+':'+((data.midTermAccuracy[lastindex] == null || isNaN(data.midTermAccuracy[lastindex])) ? "--- ":data.midTermAccuracy[lastindex]+" ")
         option.series.push({
-          name: '中期准确率',
+          name: this.$t('中期准确率'),
           type: 'line',
           showSymbol: false,
           itemStyle: {
@@ -645,12 +645,12 @@ export default {
           },
           data: data.midTermAccuracy
         })
-        option.legend.data.push('中期准确率')
+        option.legend.data.push(this.$t('中期准确率'))
       }
       if(data.midTermPassRate != undefined){
-        optionTitleText+= '中期合格率:'+((data.midTermPassRate[lastindex] == null || isNaN(data.midTermPassRate[lastindex])) ? "--- ":data.midTermPassRate[lastindex]+" ")
+        optionTitleText+= this.$t('中期合格率')+':'+((data.midTermPassRate[lastindex] == null || isNaN(data.midTermPassRate[lastindex])) ? "--- ":data.midTermPassRate[lastindex]+" ")
         option.series.push({
-          name: '中期合格率',
+          name: this.$t('中期合格率'),
           type: 'line',
           showSymbol: false,
           itemStyle: {
@@ -672,12 +672,12 @@ export default {
           },
           data: data.midTermPassRate
         })
-        option.legend.data.push('中期合格率')
+        option.legend.data.push(this.$t('中期合格率'))
       }
       if(data.shortTermAccuracy != undefined){
-        optionTitleText+='短期准确率:'+((data.shortTermAccuracy[lastindex] == null || isNaN(data.shortTermAccuracy[lastindex]))  ? "--- ":data.shortTermAccuracy[lastindex]+" ")
+        optionTitleText+=this.$t('短期准确率')+':'+((data.shortTermAccuracy[lastindex] == null || isNaN(data.shortTermAccuracy[lastindex]))  ? "--- ":data.shortTermAccuracy[lastindex]+" ")
         option.series.push({
-          name: '短期准确率',
+          name: this.$t('短期准确率'),
           type: 'line',
           showSymbol: false,
           itemStyle: {
@@ -699,13 +699,13 @@ export default {
           },
           data: data.shortTermAccuracy
         })
-        option.legend.data.push('短期准确率')
+        option.legend.data.push(this.$t('短期准确率'))
       }
 
       if(data.tenDayShortTermAccuracy != undefined){
-        optionTitleText+='短期第十天准确率:'+((data.tenDayShortTermAccuracy[lastindex] == null || isNaN(data.tenDayShortTermAccuracy[lastindex])) ? "--- ":data.tenDayShortTermAccuracy[lastindex]+" ")
+        optionTitleText+=this.$t('短期第十天准确率')+':'+((data.tenDayShortTermAccuracy[lastindex] == null || isNaN(data.tenDayShortTermAccuracy[lastindex])) ? "--- ":data.tenDayShortTermAccuracy[lastindex]+" ")
         option.series.push({
-          name: '短期第十天准确率',
+          name: this.$t('短期第十天准确率'),
           type: 'line',
           showSymbol: false,
           itemStyle: {
@@ -727,12 +727,12 @@ export default {
           },
           data: data.tenDayShortTermAccuracy
         })
-        option.legend.data.push('短期第十天准确率')
+        option.legend.data.push(this.$t('短期第十天准确率'))
       }
       if(data.shortTermPassRate != undefined){
-        optionTitleText+= '短期合格率:'+((data.shortTermPassRate[lastindex] == null || isNaN(data.shortTermPassRate[lastindex])) ? "--- ":data.shortTermPassRate[lastindex]+" ")
+        optionTitleText+= this.$t('短期合格率')+'+'+((data.shortTermPassRate[lastindex] == null || isNaN(data.shortTermPassRate[lastindex])) ? "--- ":data.shortTermPassRate[lastindex]+" ")
         option.series.push({
-          name: '短期合格率',
+          name: this.$t('短期合格率'),
           type: 'line',
           showSymbol: false,
           itemStyle: {
@@ -755,12 +755,12 @@ export default {
           },
           data: data.shortTermPassRate
         })
-        option.legend.data.push('短期合格率')
+        option.legend.data.push(this.$t('短期合格率'))
       }
       if(data.ultraShortTermAccuracy != undefined){
-        optionTitleText+= '超短期准确率:'+((data.ultraShortTermAccuracy[lastindex]==null || isNaN(data.ultraShortTermAccuracy[lastindex])) ? "--- " : data.ultraShortTermAccuracy[lastindex]+" " )
+        optionTitleText+= this.$t('超短期准确率')+':'+((data.ultraShortTermAccuracy[lastindex]==null || isNaN(data.ultraShortTermAccuracy[lastindex])) ? "--- " : data.ultraShortTermAccuracy[lastindex]+" " )
         option.series.push({
-          name: '超短期准确率',
+          name: this.$t('超短期准确率'),
           type: 'line',
           showSymbol: false,
           itemStyle: {
@@ -782,12 +782,12 @@ export default {
           },
           data: data.ultraShortTermAccuracy
         })
-        option.legend.data.push('超短期准确率')
+        option.legend.data.push(this.$t('超短期准确率'))
       }
       if(data.ultraShortTermPassRate != undefined){
-        optionTitleText+= '超短期合格率:'+((data.ultraShortTermPassRate[lastindex] == null || isNaN(data.ultraShortTermPassRate[lastindex])) ? "--- ":data.ultraShortTermPassRate[lastindex]+" ")
+        optionTitleText+= this.$t('超短期合格率')+':'+((data.ultraShortTermPassRate[lastindex] == null || isNaN(data.ultraShortTermPassRate[lastindex])) ? "--- ":data.ultraShortTermPassRate[lastindex]+" ")
         option.series.push({
-          name: '超短期合格率',
+          name: this.$t('超短期合格率'),
           type: 'line',
           showSymbol: false,
           itemStyle: {
@@ -809,9 +809,9 @@ export default {
           },
           data: data.ultraShortTermPassRate
         })
-        option.legend.data.push('超短期合格率')
+        option.legend.data.push(this.$t('超短期合格率'))
       }
-      option.title.text ="实时 "+optionTitleText
+      option.title.text = this.$t("实时 ")+optionTitleText
       this.chart.setOption(option, true)
       /*window.onresize = chart.resize()*/
       console.log(option);
@@ -824,14 +824,14 @@ export default {
         this.markLineData = [{
           label:{
             position:'end',
-            formatter:"准确率"
+            formatter: this.$t("准确率")
           },
           yAxis: data.accuracyRate.split(',')[0]
         },
           {
             label:{
               position:'end',
-              formatter:"合格率"
+              formatter: this.$t("合格率")
             },
             yAxis: data.accuracyRate.split(',')[1]
           }]
@@ -840,7 +840,7 @@ export default {
       this.chart2 = echarts.init(document.getElementById('statisticsChats'))
       var option = {
         title: {
-          text: '统计 ',
+          text: this.$t('统计 '),
           subtext: data.times[0]+'-'+data.times[lastindex],
           textStyle: {
             fontWeight: 'normal',
@@ -927,9 +927,9 @@ export default {
       };
       var optionTitleText = "";
       if(data.midTermAccuracy != undefined){
-        optionTitleText+="中期准确率:"+(isNaN(this.midAccuracyAVG) || this.midAccuracyAVG == null ? '---':this.midAccuracyAVG)
+        optionTitleText+=this.$t('中期准确率')+":"+(isNaN(this.midAccuracyAVG) || this.midAccuracyAVG == null ? '---':this.midAccuracyAVG)
         option.series.push({
-          name: '中期准确率',
+          name: this.$t('中期准确率'),
           type: 'line',
           showSymbol: false,
           itemStyle: {
@@ -951,12 +951,12 @@ export default {
           },
           data: data.midTermAccuracy
         })
-        option.legend.data.push('中期准确率')
+        option.legend.data.push(this.$t('中期准确率'))
       }
       if(data.midTermPassRate != undefined){
-        optionTitleText+="中期合格率:"+(isNaN(this.midRateValueAVG) || this.midRateValueAVG == null ? '---':this.midRateValueAVG)
+        optionTitleText+=this.$t('中期合格率')+":"+(isNaN(this.midRateValueAVG) || this.midRateValueAVG == null ? '---':this.midRateValueAVG)
         option.series.push({
-          name: '中期合格率',
+          name: this.$t('中期合格率'),
           type: 'line',
           showSymbol: false,
 
@@ -980,12 +980,12 @@ export default {
           },
           data: data.midTermPassRate
         })
-        option.legend.data.push('中期合格率')
+        option.legend.data.push(this.$t('中期合格率'))
       }
       if(data.shortTermAccuracy != undefined){
-        optionTitleText+="短期准确率:"+(isNaN(this.dqAccuracyAVG) || this.dqAccuracyAVG == null ? '---':this.dqAccuracyAVG)
+        optionTitleText+=this.$t('短期准确率')+":"+(isNaN(this.dqAccuracyAVG) || this.dqAccuracyAVG == null ? '---':this.dqAccuracyAVG)
         option.series.push({
-          name: '短期准确率',
+          name: this.$t('短期准确率'),
           type: 'line',
           showSymbol: false,
           itemStyle: {
@@ -1007,12 +1007,12 @@ export default {
           },
           data: data.shortTermAccuracy
         })
-        option.legend.data.push('短期准确率')
+        option.legend.data.push(this.$t('短期准确率'))
       }
       if(data.tenDayShortTermAccuracy != undefined){
-        optionTitleText+="短期第十天准确率:"+(isNaN(this.tenDayDqAccuracyAVG) || this.tenDayDqAccuracyAVG == null ? '---':this.tenDayDqAccuracyAVG)
+        optionTitleText+=this.$t('短期第十天准确率')+":"+(isNaN(this.tenDayDqAccuracyAVG) || this.tenDayDqAccuracyAVG == null ? '---':this.tenDayDqAccuracyAVG)
         option.series.push({
-          name: '短期第十天准确率',
+          name: this.$t('短期第十天准确率'),
           type: 'line',
           showSymbol: false,
           itemStyle: {
@@ -1034,12 +1034,12 @@ export default {
           },
           data: data.tenDayShortTermAccuracy
         })
-        option.legend.data.push('短期第十天准确率')
+        option.legend.data.push(this.$t('短期第十天准确率'))
       }
       if(data.shortTermPassRate != undefined){
-        optionTitleText+="短期合格率:"+(isNaN(this.dqRateValueAVG) || this.dqRateValueAVG == null ? '---':this.dqRateValueAVG)
+        optionTitleText+= this.$t('短期合格率')+":"+(isNaN(this.dqRateValueAVG) || this.dqRateValueAVG == null ? '---':this.dqRateValueAVG)
         option.series.push({
-          name: '短期合格率',
+          name: this.$t('短期合格率'),
           type: 'line',
           showSymbol: false,
 
@@ -1063,12 +1063,12 @@ export default {
           },
           data: data.shortTermPassRate
         })
-        option.legend.data.push('短期合格率')
+        option.legend.data.push(this.$t('短期合格率'))
       }
       if(data.ultraShortTermAccuracy != undefined){
-        optionTitleText+="超短期准确率:"+(isNaN(this.cdqAccuracyAVG) || this.cdqAccuracyAVG == null ? '---':this.cdqAccuracyAVG)
+        optionTitleText+=this.$t('超短期准确率')+":"+(isNaN(this.cdqAccuracyAVG) || this.cdqAccuracyAVG == null ? '---':this.cdqAccuracyAVG)
         option.series.push({
-          name: '超短期准确率',
+          name: this.$t('超短期准确率'),
           type: 'line',
           showSymbol: false,
           itemStyle: {
@@ -1091,12 +1091,12 @@ export default {
           },
           data: data.ultraShortTermAccuracy
         })
-        option.legend.data.push('超短期准确率')
+        option.legend.data.push(this.$t('超短期准确率'))
       }
       if(data.ultraShortTermPassRate != undefined){
-        optionTitleText+="超短期合格率:"+(isNaN(this.cdqRateValueAVG) || this.cdqRateValueAVG == null ? '---':this.cdqRateValueAVG)
+        optionTitleText+= this.$t('超短期合格率')+":"+(isNaN(this.cdqRateValueAVG) || this.cdqRateValueAVG == null ? '---':this.cdqRateValueAVG)
         option.series.push({
-          name: '超短期合格率',
+          name: this.$t('超短期合格率'),
           type: 'line',
           showSymbol: false,
           itemStyle: {
@@ -1118,9 +1118,9 @@ export default {
           },
           data: data.ultraShortTermPassRate
         })
-        option.legend.data.push('超短期合格率')
+        option.legend.data.push(this.$t('超短期合格率'))
       }
-      option.title.text ="统计 平均/"+optionTitleText
+      option.title.text = this.$t("统计 平均/")+optionTitleText
       this.chart2.setOption(option, true)
     },
 

+ 6 - 6
ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/comprehensiveStatistics/balkElectricQuery/index.vue

@@ -76,12 +76,12 @@
         },
         tableColumn: [
           {
-            title: '受阻电量查询',
+            title: this.$t('受阻电量查询'),
             children: [
-              {field: 'time', title: '时间', formatter: this.dateFormat, sortable: true, minWidth: "150"},
-              {field: 'onSiteObstructed', title: '站内受阻', minWidth: "130"},
-              {field: 'offSiteObstructed', title: '站外受阻', minWidth: "130"},
-              {field: 'abandonmentRate', title: '弃电率指标', minWidth: "130"},
+              {field: 'time', title: this.$t('时间'), formatter: this.dateFormat, sortable: true, minWidth: "150"},
+              {field: 'onSiteObstructed', title: this.$t('站内受阻'), minWidth: "130"},
+              {field: 'offSiteObstructed', title: this.$t('站外受阻'), minWidth: "130"},
+              {field: 'abandonmentRate', title: this.$t('弃电率指标'), minWidth: "130"},
             ]
 
           },
@@ -106,7 +106,7 @@
         }).catch((error) => {
           this.loading = false
           this.$emit('sendLoading', this.loading)
-          this.$message.error('查询table出错' + error)
+          this.$message.error(this.$t('查询table出错') + error)
         })
       },
       handlePageChange({currentPage, pageSize}) {

+ 9 - 9
ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/comprehensiveStatistics/electricEnergyTotal/index.vue

@@ -122,7 +122,7 @@ export default {
       this.$axios.get('/forecastPowerShortTerm/getElectricEnergyTotal/' + this.startTime).then((res) => {
         this.tableColumn = [
           {
-            title: '发电量统计(单位:万千瓦时)',
+            title: this.$t('发电量统计(单位:万千瓦时)'),
             children: [
               {field: 'day1', title: res.data.mapDate.date1, minWidth: "130"},
               {field: 'day2', title: res.data.mapDate.date2, minWidth: "130"},
@@ -137,7 +137,7 @@ export default {
         if(res.data.type.elType == "1"){
           this.nwpTableColumn= [
             {
-              title: '环境数据统计(单位:MJ/㎡)',
+              title: this.$t('环境数据统计(单位:MJ/㎡)'),
               children: [
                 {field: 'nwpKey1', title: res.data.mapDate.date1, minWidth: "130"},
                 {field: 'nwpKey2', title: res.data.mapDate.date2, minWidth: "130"},
@@ -152,7 +152,7 @@ export default {
         }else{
           this.nwpTableColumn= [
             {
-              title: '环境数据统计(单位:m/s)',
+              title: this.$t('环境数据统计(单位:m/s)'),
               children: [
                 {field: 'nwpKey1', title: res.data.mapDate.date1, minWidth: "130"},
                 {field: 'nwpKey2', title: res.data.mapDate.date2, minWidth: "130"},
@@ -201,7 +201,7 @@ export default {
       }).catch((error) => {
         this.loading = false
         this.$emit('sendLoading', this.loading)
-        this.$message.error('查询table出错' + error)
+        this.$message.error(this.$t('查询table出错') + error)
       })
 
     },
@@ -210,7 +210,7 @@ export default {
 
       var option = {
         title: {
-          text: '发电量变化',
+          text: this.$t('发电量变化'),
           textStyle: {
             fontWeight: 'normal',
             fontSize: 16,
@@ -232,7 +232,7 @@ export default {
           itemWidth: 14,
           itemHeight: 5,
           itemGap: 13,
-          data: ['发电量','环境数据'],
+          data: [this.$t('发电量'), this.$t('环境数据')],
           right: '4%',
           textStyle: {
             fontSize: 12,
@@ -275,7 +275,7 @@ export default {
         },
         yAxis: [{
           type: 'value',
-          name: '(万千瓦时)',
+          name: this.$t('(万千瓦时)'),
           axisLine: {
             lineStyle: {
               color: this.lineColor
@@ -295,7 +295,7 @@ export default {
         }],
         series: [
           {
-            name: '发电量',
+            name: this.$t('发电量'),
             type: 'line',
             data: data,
             lineStyle: {
@@ -314,7 +314,7 @@ export default {
           },
           {
             yAxisIndex: 1,
-            name: '环境数据',
+            name: this.$t('环境数据'),
             type: 'line',
             data: nwp,
             lineStyle: {

+ 49 - 49
ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/comprehensiveStatistics/equipmentData/index.vue

@@ -3,8 +3,8 @@
   <div style="width: 100%;height: 100%"  v-if="this.electricFieldTypeEnum == 'E1'">
     <div style="width: 100%;background-color: transparent;height: 2%;display:inline-block;padding-left: 5px;padding-top: 5px">
       <div class="filter">
-        <span>选择气象站</span>
-        <el-select v-model="weatherInfoId" @change="getTable" placeholder="请选择">
+        <span>{{this.$t('选择气象站')}}</span>
+        <el-select v-model="weatherInfoId" @change="getTable" :placeholder="this.$t('请选择')">
           <el-option
             v-for="item in weatherInfos"
             :key="item.id"
@@ -12,8 +12,8 @@
             :value="item.id">
           </el-option>
         </el-select>
-        <span>选择日期类型</span>
-        <el-select v-model="dateType" @change="getTable" placeholder="请选择">
+        <span>{{this.$t('选择日期类型')}}</span>
+        <el-select v-model="dateType" @change="getTable" :placeholder="this.$t('请选择')">
           <el-option
             v-for="item in dates"
             :key="item.key"
@@ -21,8 +21,8 @@
             :value="item.value">
           </el-option>
         </el-select>
-        <span>选择数据类型</span>
-        <el-select v-model="dataType" @change="getTable" placeholder="请选择">
+        <span>{{this.$t('选择数据类型')}}</span>
+        <el-select v-model="dataType" @change="getTable" :placeholder="this.$t('请选择')">
           <el-option
             v-for="item in dataTypes"
             :key="item.key"
@@ -74,8 +74,8 @@
   <div style="width: 100%;height: 100%" v-if="this.electricFieldTypeEnum == 'E2'">
     <div style="width: 100%;background-color: transparent;height: 2%;display:inline-block;padding-left: 5px;padding-top: 5px">
       <div class="filter">
-        <span>选择测风塔</span>
-        <el-select v-model="windTowerInfoId" @change="getTable" placeholder="请选择">
+        <span>{{this.$t('选择测风塔')}}</span>
+        <el-select v-model="windTowerInfoId" @change="getTable" :placeholder="this.$t('请选择')">
           <el-option
             v-for="item in windTowerInfos"
             :key="item.id"
@@ -83,8 +83,8 @@
             :value="item.id">
           </el-option>
         </el-select>
-        <span>选择日期类型</span>
-        <el-select v-model="dateType1" @change="getTable" placeholder="请选择">
+        <span>{{this.$t('选择日期类型')}}</span>
+        <el-select v-model="dateType1" @change="getTable" :placeholder="this.$t('请选择')">
           <el-option
             v-for="item in dates1"
             :key="item.key"
@@ -92,8 +92,8 @@
             :value="item.value">
           </el-option>
         </el-select>
-        <span>选择层高</span>
-        <el-select v-model="dataType1" @change="getTable" placeholder="请选择">
+        <span>{{this.$t('选择层高')}}</span>
+        <el-select v-model="dataType1" @change="getTable" :placeholder="this.$t('请选择')">
           <el-option
             v-for="item in heights1"
             :key="item.key"
@@ -193,51 +193,51 @@
           custom: true
         },
         tableColumn: [{
-          title: '气象站数据统计',
+          title: this.$t('气象站数据统计'),
           children: [
-            {field: 'time', title: '日期', minWidth: "130",treeNode: true},
+            {field: 'time', title: this.$t('日期'), minWidth: "130",treeNode: true},
             // {field: 'dataType', title: '数据类型', minWidth: "130"},
-            {field: 'maxValue', title: '最大值', minWidth: "130"},
-            {field: 'minValue', title: '最小值', minWidth: "130"},
-            {field: 'avgValue', title: '平均值', minWidth: "130"}
+            {field: 'maxValue', title: this.$t('最大值'), minWidth: "130"},
+            {field: 'minValue', title: this.$t('最小值'), minWidth: "130"},
+            {field: 'avgValue', title: this.$t('平均值'), minWidth: "130"}
           ]
         }],
         dates:[
-          {key: 'year', label: '年', value: "year"},
-          {key: 'month', label: '月', value: "month"},
-          {key: 'day', label: '日', value: "day"},
+          {key: 'year', label: this.$t('年'), value: "year"},
+          {key: 'month', label: this.$t('月'), value: "month"},
+          {key: 'day', label: this.$t('日'), value: "day"},
         ],
         dateType:'day',
-        dataType:"水平总辐射",
+        dataType: this.$t("水平总辐射"),
         dataTypes:[
-          {key: '水平总辐射', label: '水平总辐射', value: "水平总辐射"},
-          {key: '直接辐射', label: '直接辐射', value: "直接辐射"},
-          {key: '散射辐射', label: '散射辐射', value: "散射辐射"},
-          {key: '斜面总辐射', label: '斜面总辐射', value: "斜面总辐射"},
-          {key: '环境温度', label: '环境温度', value: "环境温度"},
-          {key: '气压', label: '气压', value: "气压"},
-          {key: '湿度', label: '湿度', value: "湿度"},
-          {key: '光伏电池板温度', label: '光伏电池板温度', value: "光伏电池板温度"},
-          {key: '风速', label: '风速', value: "风速"},
-          {key: '风向', label: '风向', value: "风向"},
-          {key: '日照小时数', label: '日照小时数', value: "日照小时数"},
-          {key: '水平总辐射日累计', label: '水平总辐射日累计', value: "水平总辐射日累计"},
-          {key: '直接辐射日累计', label: '直接辐射日累计', value: "直接辐射日累计"},
-          {key: '斜面总辐射日累计', label: '斜面总辐射日累计', value: "斜面总辐射日累计"},
+          {key: this.$t('水平总辐射'), label: this.$t('水平总辐射'), value: this.$t("水平总辐射")},
+          {key: this.$t('直接辐射'), label: this.$t('直接辐射'), value: this.$t("直接辐射")},
+          {key: this.$t('散射辐射'), label: this.$t('散射辐射'), value: this.$t("散射辐射")},
+          {key: this.$t('斜面总辐射'), label: this.$t('斜面总辐射'), value: this.$t("斜面总辐射")},
+          {key: this.$t('环境温度'), label: this.$t('环境温度'), value: this.$t("环境温度")},
+          {key: this.$t('气压'), label: this.$t('气压'), value: this.$t("气压")},
+          {key: this.$t('湿度'), label: this.$t('湿度'), value: this.$t("湿度")},
+          {key: this.$t('光伏电池板温度'), label: this.$t('光伏电池板温度'), value: this.$t("光伏电池板温度")},
+          {key: this.$t('风速'), label: this.$t('风速'), value: this.$t("风速")},
+          {key: this.$t('风向'), label: this.$t('风向'), value: this.$t("风向")},
+          {key: this.$t('日照小时数'), label: this.$t('日照小时数'), value: this.$t("日照小时数")},
+          {key: this.$t('水平总辐射日累计'), label: this.$t('水平总辐射日累计'), value: this.$t("水平总辐射日累计")},
+          {key: this.$t('直接辐射日累计'), label: this.$t('直接辐射日累计'), value: this.$t("直接辐射日累计")},
+          {key: this.$t('斜面总辐射日累计'), label: this.$t('斜面总辐射日累计'), value: this.$t("斜面总辐射日累计")},
         ],
         tableColumn1: [{
-          title: '测风塔风速统计',
+          title: this.$t('测风塔风速统计'),
           children: [
-            {field: 'time', title: '日期', minWidth: "130"},
-            {field: 'maxValue', title: '风速最大值', minWidth: "130"},
-            {field: 'minValue', title: '风速最小值', minWidth: "130"},
-            {field: 'avgValue', title: '风速平均值', minWidth: "130"}
+            {field: 'time', title: this.$t('日期'), minWidth: "130"},
+            {field: 'maxValue', title: this.$t('风速最大值'), minWidth: "130"},
+            {field: 'minValue', title: this.$t('风速最小值'), minWidth: "130"},
+            {field: 'avgValue', title: this.$t('风速平均值'), minWidth: "130"}
           ]
         }],
         dates1:[
-          {key: 'year', label: '年', value: "year"},
-          {key: 'month', label: '月', value: "month"},
-          {key: 'day', label: '日', value: "day"},
+          {key: 'year', label: this.$t('年'), value: "year"},
+          {key: 'month', label: this.$t('月'), value: "month"},
+          {key: 'day', label: this.$t('日'), value: "day"},
         ],
         dateType1:'day',
         heights1:[
@@ -271,11 +271,11 @@
                 this.getTable()
               } else {
                 this.loading = false
-                this.$message.warning("没有气象站设备信息")
+                this.$message.warning(this.$t("没有气象站设备信息"))
               }
             }).catch((error) => {
               this.loading = false
-              this.$message.error('查询气象站设备信息出错' + error)
+              this.$message.error(this.$t('查询气象站设备信息出错') + error)
             })
           }else {
             this.loading = true
@@ -287,11 +287,11 @@
                 this.getTable()
               } else {
                 this.loading = false
-                this.$message.warning("没有测风塔设备信息")
+                this.$message.warning(this.$t("没有测风塔设备信息"))
               }
             }).catch((error) => {
               this.loading = false
-              this.$message.error('查询测风塔设备信息出错' + error)
+              this.$message.error(this.$t('查询测风塔设备信息出错') + error)
             })
           }})
       },
@@ -310,7 +310,7 @@
             }).catch((error) => {
               this.loading = false
               this.$emit('sendLoading', this.loading)
-              this.$message.error('查询table出错' + error)
+              this.$message.error(this.$t('查询table出错') + error)
             })
           }else {
             this.loading = true
@@ -325,7 +325,7 @@
             }).catch((error) => {
               this.loading = false
               this.$emit('sendLoading', this.loading)
-              this.$message.error('查询table出错' + error)
+              this.$message.error(this.$t('查询table出错') + error)
             })
           }
 

+ 5 - 5
ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/comprehensiveStatistics/index.vue

@@ -3,13 +3,13 @@
     <div style="width: 100%;background-color: transparent;height: 2%">
       <div class="filter">
         <div class="startTime">
-          <span class="timeText">起始时间</span>
+          <span class="timeText">{{this.$t('起始时间')}}</span>
           <el-date-picker
             v-model="startTime"
             :clearable="false"
             type="date"
             value-format="timestamp"
-            placeholder="选择日期">
+            :placeholder="this.$t('选择日期')">
           </el-date-picker>
         </div>
 <!--        <div class="endTime">-->
@@ -23,8 +23,8 @@
 <!--          </el-date-picker>-->
 <!--        </div>-->
         <div class="timeQuery">
-          <el-button @click="queryData()" :loading="loading" size="small" >查询</el-button>
-          <el-button @click="download2()" :loading="loading" size="small" v-show="showCustomizedReport">导出定制化报表</el-button>
+          <el-button @click="queryData()" :loading="loading" size="small" >{{this.$t('查询')}}</el-button>
+          <el-button @click="download2()" :loading="loading" size="small" v-show="showCustomizedReport">{{this.$t('导出定制化报表')}}</el-button>
         </div>
       </div>
     </div>
@@ -117,7 +117,7 @@
           this.loading = false
         }).catch((error) => {
           this.loading = false
-          this.$message.error('导出失败' + error)
+          this.$message.error(this.$t('导出失败') + error)
         })
       },
       getLoadingFormTable(data){

+ 35 - 33
ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/detailedRulesStatics/index.vue

@@ -2,16 +2,18 @@
   <div class="chart-container">
     <div class="filter">
       <div class="sTime">
-        <span class="timeText">起始时间</span>
-        <el-date-picker v-model="sTime" :clearable="false" type="datetime" value-format="timestamp" placeholder="选择日期" />
+        <span class="timeText">{{this.$t('起始时间')}}</span>
+        <el-date-picker v-model="sTime" :clearable="false" type="datetime" value-format="timestamp" :placeholder="this.$t('选择日期')
+" />
       </div>
       <div class="eTime">
-        <span class="timeText">截止时间</span>
-        <el-date-picker v-model="eTime" :clearable="false" type="datetime" value-format="timestamp" placeholder="选择日期" />
+        <span class="timeText">{{this.$t('截止时间')}}</span>
+        <el-date-picker v-model="eTime" :clearable="false" type="datetime" value-format="timestamp" :placeholder="this.$t('选择日期')
+" />
       </div>
       <div class="computType">
-        <span class="timeText">预测类型</span>
-        <el-select v-model="computType"   placeholder="请选择">
+        <span class="timeText">{{this.$t('预测类型')}}</span>
+        <el-select v-model="computType"   :placeholder="this.$t('请选择')">
           <el-option
             v-for="item in computTypes"
             :key="item.key"
@@ -21,8 +23,8 @@
         </el-select>
       </div>
       <div class="computMeas">
-        <span class="timeText">预测尺度</span>
-        <el-select v-model="computMeas"   placeholder="请选择">
+        <span class="timeText">{{this.$t('预测尺度')}}</span>
+        <el-select v-model="computMeas"   :placeholder="this.$t('请选择')">
           <el-option
             v-for="item in computMeass"
             :key="item.key"
@@ -32,19 +34,19 @@
         </el-select>
       </div>
       <div class="buttonDiv">
-        <el-button size="small" :loading="loading" @click="dateQuery">查询</el-button>
+        <el-button size="small" :loading="loading" @click="dateQuery">{{this.$t('查询')}}</el-button>
       </div>
       <div class="buttonDiv">
-        <el-button size="small" :loading="loading" @click="dialogVisible = true">显示设置</el-button>
+        <el-button size="small" :loading="loading" @click="dialogVisible = true">{{this.$t('显示设置')}}</el-button>
       </div>
       <div class="buttonDiv">
-        <el-button type="small" :loading="loading" @click="exportFile">导出</el-button>
+        <el-button type="small" :loading="loading" @click="exportFile">{{this.$t('导出')}}</el-button>
       </div>
       <!-- div class="toolbar"> <vxe-toolbar ref="detailedRulesStatToolBar" export /></div -->
     </div>
-    <el-dialog title="选择数据类型" :visible.sync="dialogVisible" :before-close="this.cancelDisplay" width="50%">
+    <el-dialog :title="this.$t('选择数据类型')" :visible.sync="dialogVisible" :before-close="this.cancelDisplay" width="50%">
       <div class="drag-box-item">
-        <div class="item-title">隐藏</div>
+        <div class="item-title">{{this.$t('隐藏')}}</div>
         <draggable class="list-group" :list="listh" group="people">
           <transition-group id="done" tag="div" class="item-ul">
             <div v-for="(element, index) in listh" :key="element.value" class="drag-list">
@@ -54,7 +56,7 @@
         </draggable>
       </div>
       <div class="drag-box-item">
-        <div class="item-title">展示</div>
+        <div class="item-title">{{this.$t('展示')}}</div>
         <draggable class="list-group" :list="lists" group="people">
           <transition-group id="wdtodo" tag="div" class="item-ul">
             <div v-for="(element, index) in lists" :key="element.value" class="drag-list">
@@ -64,9 +66,9 @@
         </draggable>
       </div>
       <span slot="footer" class="dialog-footer">
-        <el-button style="color: #1f2d3d" @click="this.initShow">初始化</el-button>
-        <el-button style="color: #1f2d3d" @click="this.cancelDisplay">取 消</el-button>
-        <el-button type="primary" style="color: #1f2d3d" @click="this.changeDisplay">确 定</el-button>
+        <el-button style="color: #1f2d3d" @click="this.initShow">{{this.$t('初始化')}}</el-button>
+        <el-button style="color: #1f2d3d" @click="this.cancelDisplay">{{this.$t('取 消')}}</el-button>
+        <el-button type="primary" style="color: #1f2d3d" @click="this.changeDisplay">{{this.$t('确 定')}}</el-button>
       </span>
     </el-dialog>
     <div style="width: 100%;height: 90%">
@@ -177,11 +179,11 @@ export default {
   methods: {
     initShow () {
       this.dialogVisible = false
-      this.$XModal.confirm('您确定要初始化?').then(type => {
+      this.$XModal.confirm(this.$t('您确定要初始化?')).then(type => {
         if (type === 'confirm') {
           this.$axios.get('displayConfig/initDetailedRulesShow').then(res => {
             if (res.code == 0) {
-              this.$message.success('执行成功!')
+              this.$message.success(this.$t('执行成功!'))
               location.reload()
             }
           })
@@ -214,7 +216,7 @@ export default {
     dateQuery () {
       this.loading = true
       if (this.eTime < this.sTime) {
-        this.$message.error('开始时间不能大于结束时间')
+        this.$message.error(this.$t('开始时间不能大于结束时间'))
         this.sTime = this.querySTime
         this.eTime = this.queryETime
         this.loading = false
@@ -223,7 +225,7 @@ export default {
       if (this.eTime - this.sTime > 60 * 60 * 24 * 1000 * 31) {
         this.sTime = this.querySTime
         this.eTime = this.queryETime
-        this.$message.error('只能最多查询31天的数据哦')
+        this.$message.error(this.$t('只能最多查询31天的数据哦'))
         this.loading = false
         return
       }
@@ -242,7 +244,7 @@ export default {
         }
       }).catch((error) => {
         this.loading = false
-        this.$message.error('查询准确率table出错' + error)
+        this.$message.error(this.$t('查询准确率table出错') + error)
       })
     },
     setShowCode(){
@@ -296,10 +298,10 @@ export default {
             this.listhquery.push({ key: this.dynamicColumn[defaultHiddenCodes[i]], value: defaultHiddenCodes[i] })
           }
           this.$axios.post('/displayConfig', this.displayConfig).then((res) => {
-            this.$message.success('展示设置成功')
+            this.$message.success(this.$t('展示设置成功'))
             this.displayConfig = res.data
           }).catch((error) => {
-            this.$message.error('展示设置出错' + error)
+            this.$message.error(this.$t('展示设置出错') + error)
           })
           // 获取表格和图表数据
           this.getTable()
@@ -308,7 +310,7 @@ export default {
         this.loading = false
       }).catch((error) => {
         this.loading = false
-        this.$message.error('查询准确率table出错' + error)
+        this.$message.error(this.$t('查询准确率table出错') + error)
       })
     },
     // 修改显示内容
@@ -331,10 +333,10 @@ export default {
       }
       this.$axios.post('displayConfig/', this.displayConfig).then((res) => {
         this.displayConfig = res.data
-        this.$message.success('展示设置成功')
+        this.$message.success(this.$t('展示设置成功'))
         this.dialogVisible = false
       }).catch((error) => {
-        this.$message.error('展示设置出错' + error)
+        this.$message.error(this.$t('展示设置出错') + error)
       })
       // 获取表格和图表数据
       this.getTable()
@@ -367,7 +369,7 @@ export default {
         this.loading = false
       }).catch((error) => {
         this.loading = false
-        this.$message.error('查询准确率table出错' + error)
+        this.$message.error(this.$t('查询准确率table出错') + error)
       })
     },
     getComputType(){
@@ -377,7 +379,7 @@ export default {
         this.loading = false
       }).catch((error) => {
         this.loading = false
-        this.$message.error('查询预测类型出错' + error)
+        this.$message.error(this.$t('查询预测类型出错') + error)
       })
     },
     getComputMeas(){
@@ -387,7 +389,7 @@ export default {
         this.loading = false
       }).catch((error) => {
         this.loading = false
-        this.$message.error('查询预测尺度出错' + error)
+        this.$message.error(this.$t('查询预测尺度出错') + error)
       })
     },
     handlePageChange ({ currentPage, pageSize }) {
@@ -414,14 +416,14 @@ export default {
     exportFile(){
       if (this.tableData.length>0){
         //const item = this.stationList.find(item => item.value === this.stationCode)
-        let filename = "准确率统计"
+        let filename = this.$t("准确率统计")
         // 文件名日期
         let sTime = this.$moment(this.sTime).format('YYYY-MM-DD')
         let eTime = this.$moment(this.eTime).format('YYYY-MM-DD')
         if (sTime === eTime){
           filename = filename + sTime
         } else {
-          filename = filename+sTime+'至'+eTime
+          filename = filename+sTime+ this.$t("至")+eTime
         }
         this.$refs.detailedRulesStatRef.exportData({
           filename: filename,
@@ -432,7 +434,7 @@ export default {
         })
       }
       else{
-        this.$message.error("列表无数据不能导出文件!")
+        this.$message.error(this.$t("列表无数据不能导出文件!"))
         return
       }
     },

+ 20 - 17
ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/monthReportStatistics/index.vue

@@ -2,28 +2,28 @@
   <div class="chart-container1">
     <div class="filter">
       <div class="startTime">
-        <span class="timeText">开始时间</span>
+        <span class="timeText">{{ this.$t('开始时间') }}</span>
         <el-date-picker
           v-model="startTime"
           :clearable="false"
           type="date"
           value-format="timestamp"
-          placeholder="选择日期">
+          :placeholder="this.$t('选择日期')">
         </el-date-picker>
       </div>
       <div class="endTime">
-        <span class="timeText">结束时间</span>
+        <span class="timeText">{{ this.$t('结束时间') }}</span>
         <el-date-picker
           v-model="endTime"
           :clearable="false"
           type="date"
           value-format="timestamp"
-          placeholder="选择日期">
+          :placeholder="this.$t('选择日期')">
         </el-date-picker>
       </div>
 
       <div class="timeQuery">
-        <el-button size="small" :loading="loading" @click="dateQuery">查询</el-button>
+        <el-button size="small" :loading="loading" @click="dateQuery">{{ this.$t('查询') }}</el-button>
       </div>
       <div class="toolbar">
         <vxe-toolbar ref="reportToolBar" export></vxe-toolbar>
@@ -32,7 +32,8 @@
 
     <div class="content">
       <div class="reportTime">
-        上报统计时间范围: {{ this.reportQueryTime.startTime }} 至 {{ this.reportQueryTime.endTime }}
+        {{ this.$t('上报统计时间范围') }}: {{ this.reportQueryTime.startTime }} {{ this.$t('至') }}
+        {{ this.reportQueryTime.endTime }}
       </div>
       <div class="tableContent1">
         <vxe-table
@@ -49,11 +50,12 @@
           :cell-style="cellStyle"
           align="center"
           :data="tableData">
-          <vxe-table-column field="uploadObjectName" title="上报对象名称" min-width="100"></vxe-table-column>
-          <vxe-table-column field="fileType" title="文件类型" min-width="60"></vxe-table-column>
-          <vxe-table-column field="realityNum" title="已上报" min-width="60"></vxe-table-column>
-          <vxe-table-column field="theoryNum" title="应上报" min-width="60"></vxe-table-column>
-          <vxe-table-column field="rate" title="百分比" min-width="60"></vxe-table-column>
+          <vxe-table-column field="uploadObjectName" :title="this.$t('‌上报对象名称')"
+                            min-width="100"></vxe-table-column>
+          <vxe-table-column field="fileType" :title="this.$t('文件类型')" min-width="60"></vxe-table-column>
+          <vxe-table-column field="realityNum" :title="this.$t('已上报')" min-width="60"></vxe-table-column>
+          <vxe-table-column field="theoryNum" :title="this.$t('应上报')" min-width="60"></vxe-table-column>
+          <vxe-table-column field="rate" :title="this.$t('百分比')" min-width="60"></vxe-table-column>
         </vxe-table>
       </div>
     </div>
@@ -64,6 +66,7 @@
 import moment from "moment";
 import XEUtils from "xe-utils";
 import {mapGetters} from "vuex";
+
 export default {
   name: 'report',
   data() {
@@ -86,8 +89,8 @@ export default {
       'sysTheme'
     ]),
   },
-  created () {
-    if(this.sysTheme === 'blue'){
+  created() {
+    if (this.sysTheme === 'blue') {
       this.styleStr = {background: 'black', color: 'white', border: 'white'}
       this.styleTableStr = {background: 'black', color: 'white'}
       this.redCell = {background: 'black', color: 'red'}
@@ -119,7 +122,7 @@ export default {
         this.loading = false
       }).catch((error) => {
         this.loading = false
-        this.$message.error('查询上报统计table出错' + error)
+        this.$message.error(this.$t('查询上报统计table出错') + error)
       })
 
     },
@@ -153,11 +156,11 @@ export default {
       this.queryStartTime = this.startTime
       this.queryEndTime = this.endTime
 
-      if(this.endTime<=this.startTime){
-        this.$message.error("开始时间不能大于结束时间")
+      if (this.endTime <= this.startTime) {
+        this.$message.error(this.$t("开始时间不能大于结束时间"))
         this.startTime = this.queryStartTime
         this.endTime = this.queryEndTime
-        this.loading=false
+        this.loading = false
         return
       }
 

+ 11 - 10
ipfcst/ipfcst/ipfcst-reportquery/src/main/frontend/views/statisticsQuery/reportStatistics/index.vue

@@ -1,26 +1,27 @@
+
 <template>
   <div class="chart-container1">
     <div class="filter">
       <div class="startTime">
-        <span class="timeText">查询时间</span>
+        <span class="timeText">{{ this.$t('开始时间')}}</span>
         <el-date-picker
           v-model="startTime"
           :clearable="false"
           type="date"
           value-format="timestamp"
-          placeholder="选择日期">
+          :placeholder="this.$t('图表')">
         </el-date-picker>
       </div>
 
       <div class="timeQuery">
-        <el-button  size="small" :loading="loading"  @click="dateQuery">查询</el-button>
+        <el-button  size="small" :loading="loading"  @click="dateQuery">{{ this.$t('查询')}}</el-button>
       </div>
       <div class="toolbar" > <vxe-toolbar ref="reportToolBar" export></vxe-toolbar></div>
     </div>
 
     <div class="content">
       <div class="reportTime">
-        上报统计时间范围: {{this.reportQueryTime.startTime}} 至 {{this.reportQueryTime.endTime}}
+        {{this.$t('上报统计时间范围')}} : {{this.reportQueryTime.startTime}} {{this.$t('')}} {{this.reportQueryTime.endTime}}
       </div>
       <div class="tableContent1">
         <vxe-table
@@ -37,11 +38,11 @@
           :cell-style="cellStyle"
           align="center"
           :data="tableData">
-          <vxe-table-column  field="uploadObjectName" title="上报对象名称"  min-width="100"></vxe-table-column>
-          <vxe-table-column field="fileType" title="文件类型" min-width="60"></vxe-table-column>
-          <vxe-table-column field="realityNum" title="已上报" min-width="60"></vxe-table-column>
-          <vxe-table-column field="theoryNum" title="应上报" min-width="60" ></vxe-table-column>
-          <vxe-table-column field="rate" title="百分比" min-width="60" ></vxe-table-column>
+          <vxe-table-column  field="uploadObjectName" :title="this.$t('‌上报对象名称')"  min-width="100"></vxe-table-column>
+          <vxe-table-column field="fileType" :title="this.$t('文件类型')" min-width="60"></vxe-table-column>
+          <vxe-table-column field="realityNum" :title="this.$t('已上报')" min-width="60"></vxe-table-column>
+          <vxe-table-column field="theoryNum" :title="this.$t('应上报')" min-width="60" ></vxe-table-column>
+          <vxe-table-column field="rate" :title="this.$t('百分比')" min-width="60" ></vxe-table-column>
         </vxe-table>
       </div>
     </div>
@@ -105,7 +106,7 @@ import {mapGetters} from "vuex";
           this.loading = false
         }).catch((error) => {
           this.loading = false
-          this.$message.error('查询上报统计table出错' + error)
+          this.$message.error(this.$t('查询上报统计table出错') + error)
         })
 
       },