Browse Source

[SCREEN] fit v2 interface in situationScreen.vue

sgw 1 year ago
parent
commit
8d1b61ea93
1 changed files with 329 additions and 181 deletions
  1. 329 181
      src/views/situationScreen.vue

+ 329 - 181
src/views/situationScreen.vue

@@ -30,61 +30,64 @@
                   </el-image>
                   全部任务
                 </div>
-                <div class="select_lsit_box">
-                  <el-date-picker
-                    v-model="currentYear"
-                    @change="changeYear"
-                    style="width:230px;"
-                    type="daterange"
-                    placeholder="请选择"
-                    value-format="yyyy-MM-dd"
-                    range-separator="至"
-                    start-placeholder="开始日期"
-                    end-placeholder="结束日期">
-                  </el-date-picker>
-                </div>
 
               </div>
-              <div v-if="taskList.length" class="task_scroll_box">
-                <div class="search_box">
-                  <div class="select_lsit_box">
-                    <el-select
-                      v-model="systemTaskId"
-                      placeholder="切换系统名称"
-                      style="width:55%; margin-right:10px;"
-                      @change="changeTaskSystem"
-                      clearable
-                      filterable
-                    >
-                      <el-option
-                        v-for="item in systemOption"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value"
+              <div class="select_lsit_box">
+                <el-date-picker
+                  v-model="currentYear"
+
+                  style="width:100%;"
+                  type="datetimerange"
+                  placeholder="请选择"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                  range-separator="至"
+                  start-placeholder="开始日期"
+                  end-placeholder="结束日期">
+                </el-date-picker>
+              </div>
+              <div class="search_box">
+                <div class="select_lsit_box">
+                  <el-select
+                    v-model="systemTaskId"
+                    placeholder="切换系统名称"
+                    style="width:55%; margin-right:10px;"
+
+                    clearable
+                    filterable
+                  >
+                    <el-option
+                      v-for="item in systemOption"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
 
-                      >
-                      </el-option>
-                    </el-select>
-                    <el-select
-                      v-model="unitTaskValue"
-                      placeholder="切换单位名称"
-                      style="width:55%;"
-                      clearable
-                      @change="changeTaskUnit"
-                      filterable
                     >
-                      <el-option
-                        v-for="item in unitOption"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value"
+                    </el-option>
+                  </el-select>
+                  <el-select
+                    v-model="unitTaskValue"
+                    placeholder="切换单位名称"
+                    style="width:55%;"
+                    clearable
 
-                      >
-                      </el-option>
-                    </el-select>
+                    filterable
+                  >
+                    <el-option
+                      v-for="item in unitOption"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+
+                    >
+                    </el-option>
+                  </el-select>
 
+                  <div class="search_button" @click="conditionalSearch()">
+                    查询
                   </div>
                 </div>
+              </div>
+              <div v-if="taskList.length" class="task_scroll_box">
                 <template v-for="(item,index) in taskList">
                   <div class="task_item_container" :key="index">
                     <div class="task_item_left">
@@ -124,7 +127,10 @@
                               </div>
                             </div>
                             <div class="view_more" @click="viewMore(item)">
-                              查看更多
+                              查看详情
+                            </div>
+                            <div class="view_more" @click="viewTaskSituation(item)">
+                              查看态势
                             </div>
                           </div>
                         </div>
@@ -151,22 +157,23 @@
             <div class="task_name_header">「{{ currentTaskName }}」任务态势大屏</div>
             <!-- 任务屏幕 -->
             <div class="task_item_header">
-              <el-select
-                v-model="wholeOutTaskId"
-                placeholder="「切换任务」"
-                style="width:270px;"
-                @change="changeTask"
-                filterable
-              >
-                <el-option
-                  v-for="item in taskOPtion"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
 
-                >
-                </el-option>
-              </el-select>
+<!--              <el-select-->
+<!--                v-model="wholeOutTaskId"-->
+<!--                placeholder="「切换任务」"-->
+<!--                style="width:270px;"-->
+<!--                @change="changeTask"-->
+<!--                filterable-->
+<!--              >-->
+<!--                <el-option-->
+<!--                  v-for="item in taskOPtion"-->
+<!--                  :key="item.value"-->
+<!--                  :label="item.label"-->
+<!--                  :value="item.value"-->
+
+<!--                >-->
+<!--                </el-option>-->
+<!--              </el-select>-->
               <el-image
                 v-if="false"
                 @click="showMoreInfo('more')"
@@ -198,42 +205,41 @@
                       </el-image>
                       课目分布
                     </div>
-                    <div class="select_lsit_box">
-                      <el-select
-                        v-model="systemSubjectId"
-                        placeholder="切换系统名称"
-                        style="width:55%; margin-right:5px;"
-                        @change="changeTaskAndSystem"
-                        clearable
-                        filterable
-                      >
-                        <el-option
-                          v-for="item in systemOption"
-                          :key="item.value"
-                          :label="item.label"
-                          :value="item.value"
-
-                        >
-                        </el-option>
-                      </el-select>
-                      <el-select
-                        v-model="unitSubjectValue"
-                        placeholder="切换单位名称"
-                        style="width:55%;"
-                        clearable
-                        @change="changeTaskAndUnit"
-                        filterable
-                      >
-                        <el-option
-                          v-for="item in unitOption"
-                          :key="item.value"
-                          :label="item.label"
-                          :value="item.value"
-
-                        >
-                        </el-option>
-                      </el-select>
-                    </div>
+<!--                    <div class="select_lsit_box">-->
+<!--                      <el-select-->
+<!--                        v-model="systemSubjectId"-->
+<!--                        placeholder="切换系统名称"-->
+<!--                        style="width:55%; margin-right:5px;"-->
+<!--                        @change="changeTaskAndSystem"-->
+<!--                        clearable-->
+<!--                        filterable-->
+<!--                      >-->
+<!--                        <el-option-->
+<!--                          v-for="item in systemOption"-->
+<!--                          :key="item.value"-->
+<!--                          :label="item.label"-->
+<!--                          :value="item.value"-->
+<!--                        >-->
+<!--                        </el-option>-->
+<!--                      </el-select>-->
+<!--                      <el-select-->
+<!--                        v-model="unitSubjectValue"-->
+<!--                        placeholder="切换单位名称"-->
+<!--                        style="width:55%;"-->
+<!--                        clearable-->
+<!--                        @change="changeTaskAndUnit"-->
+<!--                        filterable-->
+<!--                      >-->
+<!--                        <el-option-->
+<!--                          v-for="item in unitOption"-->
+<!--                          :key="item.value"-->
+<!--                          :label="item.label"-->
+<!--                          :value="item.value"-->
+
+<!--                        >-->
+<!--                        </el-option>-->
+<!--                      </el-select>-->
+<!--                    </div>-->
                   </div>
                   <div class="subject_list_container" id="subjectList">
                     <template v-for="(item,index) in subjectDatas">
@@ -290,7 +296,7 @@
                     filterable
                   >
                     <el-option
-                      v-for="item in unitOption"
+                      v-for="item in unitOptionForTask"
                       :key="item.value"
                       :label="item.label"
                       :value="item.value"
@@ -424,7 +430,7 @@
                     filterable
                   >
                     <el-option
-                      v-for="item in systemOption"
+                      v-for="item in systemOptionForTask"
                       :key="item.value"
                       :label="item.label"
                       :value="item.value"
@@ -432,6 +438,20 @@
                     </el-option>
                   </el-select>
                 </div>
+                <div class="num_subject_box_new">
+                  <div style="margin-bottom:20px;">
+                    <div style="font-size:12px;">成绩统计</div>
+                    <div
+                      id="subjectGradeStatistics"
+                      style=" left:5px; width:430px; height:180px;  "
+                      :style="{  top: participantScoreFlag ? '-15px' : '2px' }"
+                    ></div>
+                  </div>
+                  <div style="position: relative;">
+                    <div style="font-size:12px;" class="new_style_grade">成绩分布</div>
+                    <div id="subjectGradeDistribute" style="height: 160px; width:430px;  bottom: 55px; position: relative; left:5px;"></div>
+                  </div>
+                </div>
               </div>
               <div class="commandMonitoring">
                 <div class="task_outer_cotnainer_status">
@@ -535,28 +555,28 @@
                     fit="contain"
                   >
                   </el-image>
-                  任务完成率
+                  {{this.unitTaskValue == '' ? getName(this.unitOption, this.unitFinshedValue) : getName(this.unitOption, this.unitTaskValue)}} 单位任务完成率
                 </div>
               </div>
-              <div v-if="!completionRate" id="taskPrecent" style="height:200px; width:310px; margin-top:-10px; right: 0px; "></div>
+              <div v-if="!completionRate" id="taskPrecent" style="height:200px; width:310px; margin-top:-5px; right: 0px; "></div>
               <div v-if="completionRate" class="tempalte_no_data" style="height:200px; width:310px; margin-top:-10px; right: 0px; ">
                 暂无数据
               </div>
-              <el-select
-                v-model="unitFinshedValue"
-                placeholder="「此处为单位名称」"
-                style="margin-top:20px; width:270px;"
-                filterable
-                @change="changeUnit"
-              >
-                <el-option
-                  v-for="item in unitOption"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
-                </el-option>
-              </el-select>
+<!--              <el-select-->
+<!--                v-model="unitFinshedValue"-->
+<!--                placeholder="「此处为单位名称」"-->
+<!--                style="margin-top:20px; width:270px;"-->
+<!--                filterable-->
+<!--                @change="changeUnit"-->
+<!--              >-->
+<!--                <el-option-->
+<!--                  v-for="item in unitOption"-->
+<!--                  :key="item.value"-->
+<!--                  :label="item.label"-->
+<!--                  :value="item.value"-->
+<!--                >-->
+<!--                </el-option>-->
+<!--              </el-select>-->
             </div>
           </div>
 
@@ -570,27 +590,27 @@
                     fit="contain"
                   >
                   </el-image>
-                  任务完成率
+                  {{this.systemTaskId == '' ? getName(this.systemOption, this.systemFinshedValue) : getName(this.systemOption, this.systemTaskId)}} 系统任务完成率
                 </div>
               </div>
-              <div v-if="!systemcompletionRate" id="taskPrecentSystem" style="height:200px; width:310px; margin-top:-10px; "></div>
+              <div v-if="!systemcompletionRate" id="taskPrecentSystem" style="height:200px; width:310px; margin-top:-5px; "></div>
               <div v-if="systemcompletionRate" class="tempalte_no_data" style="height:200px; width:310px; margin-top:-10px; ">暂无数据</div>
-              <el-select
-                v-model="systemFinshedValue"
-                placeholder="「此处为系统名称」"
-                style="margin-top:20px; width:270px;"
-                filterable
-                @change="changeSystem"
-              >
-                <el-option
-                  v-for="item in systemOption"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-
-                >
-                </el-option>
-              </el-select>
+<!--              <el-select-->
+<!--                v-model="systemFinshedValue"-->
+<!--                placeholder="「此处为系统名称」"-->
+<!--                style="margin-top:20px; width:270px;"-->
+<!--                filterable-->
+<!--                @change="changeSystem"-->
+<!--              >-->
+<!--                <el-option-->
+<!--                  v-for="item in systemOption"-->
+<!--                  :key="item.value"-->
+<!--                  :label="item.label"-->
+<!--                  :value="item.value"-->
+
+<!--                >-->
+<!--                </el-option>-->
+<!--              </el-select>-->
             </div>
           </div>
         </div>
@@ -752,7 +772,9 @@ export default {
       },
       instructList:[],
       unitOption:[],
+      unitOptionForTask:[],
       systemOption:[],
+      systemOptionForTask:[],
       currrentSystem:'',
       currentUnit:'',
       taskOPtion:[],
@@ -774,6 +796,13 @@ export default {
     }
   },
   methods:{
+
+    // 获取单位名称
+    getName(list, id) {
+      var tmp =  list.find(k => k["value"] == id)
+      return tmp["label"]
+    },
+
     // 表格样式修改
     changeHeaderCellStyle(row,column, rowIndex, columnIndex){
       if(row.columnIndex === 0){
@@ -802,6 +831,11 @@ export default {
       this.dialogVisible=true
 
     },
+    // 查看任务态势
+    viewTaskSituation(item) {
+      this.wholeOutTaskId = item.taskId;
+      this.changeTask()
+    },
     // 地图
     initechartsMap(){
       if(this.myChart1 !=null && this.myChart1  != "" && this.myChart1  != undefined){
@@ -1018,10 +1052,27 @@ export default {
       })
     },
 
+    conditionalSearch() {
+      this.getTaskList()
+      this.getItemUnits()
+      this.getItemSystem()
+    },
+
     // 获取任务列表
     async getTaskList(){
       let params={}
-      const res = await request('/dt_screen/rest/v1/task/list/', 'get', params, false)
+
+      if (this.currentYear !== null) {
+        params["startTime"] = this.currentYear[0];
+        params["endTime"] = this.currentYear[1];
+      }
+      if (this.unitTaskValue !== null) {
+        params["unitId"] = this.unitTaskValue;
+      }
+      if (this.systemTaskId !== null) {
+        params["systemId"] = this.systemTaskId;
+      }
+      const res = await request('/dt_screen/rest/v2/task/listHistoricTask/', 'post', params, false)
       const { errorCode, errorMessage, success,data } = res.data;
       if (success) {
         console.log('获取任务列表', data);
@@ -1038,6 +1089,10 @@ export default {
 
         // 获取地图的信息
         if(data.length){
+          // 获取任务的单位列表
+          this.getUnitListByTaskId(data[0].taskId)
+          // 获取任务的系统列表
+          this.getSystemListByTaskId(data[0].taskId)
           // 获取地图的信息
           this.getMapDetail(data[0].taskId)
           // 获取任务的课目信息
@@ -1048,10 +1103,15 @@ export default {
           this.getTaskSubjectNum(data[0].taskId)
           // 获取某一个任务的全部课目状态占比
           this.getAllSubjectDetail(data[0].taskId)
-          // 获取某个任务下单位参与与课目人员的的成绩统计
-          this.getUnitSubjectPeopleScore(data[0].taskId,this.unitSubGradeValue)
-          // 获取某个任务下单位参与与课目人员的的成绩分布
-          this.getUnitSubjectPeopleDistribution(data[0].taskId,this.unitSubGradeValue)
+          // // 获取某个任务下单位参与与课目人员的的成绩统计
+          // this.getUnitSubjectPeopleScore(data[0].taskId,this.unitSubGradeValue)
+          // // 获取某个任务下单位参与与课目人员的的成绩分布
+          // this.getUnitSubjectPeopleDistribution(data[0].taskId,this.unitSubGradeValue)
+
+          // 获取全部任务成绩统计
+          this.getAllTaskScore()
+          // 获取全部任务成绩分布
+          this.getAllTaskDistribution()
 
           // 建立指令websocket 链接
           this.initInstructWebsoket()
@@ -1061,12 +1121,61 @@ export default {
       }
     },
 
+    // 获取任务单位列表
+    async getUnitListByTaskId(taskId) {
+      let params={}
+
+      if (taskId !== null) {
+        params["taskId"] = taskId
+        const res = await request('/dt_screen/rest/v2/task/listUnit/', 'post', params, false)
+        const { errorCode, errorMessage, success,data } = res.data;
+        if (success) {
+          console.log("sgw debug", data);
+          this.unitOptionForTask = data.map((item)=>{
+            return {
+              label:item.unitName,
+              value: item.unitId
+            }
+          })
+          this.unitSubGradeValue = this.unitOptionForTask[0].value
+          // 获取某个任务下单位参与与课目人员的的成绩统计
+          this.getUnitSubjectPeopleScore(this.wholeOutTaskId,this.unitSubGradeValue)
+          // 获取某个任务下单位参与与课目人员的的成绩分布
+          this.getUnitSubjectPeopleDistribution(this.wholeOutTaskId,this.unitSubGradeValue)
+        }
+      }
+    },
+
+    // 获取任务系统列表
+    async getSystemListByTaskId(taskId) {
+      let params={}
+
+      if (taskId !== null) {
+        params["taskId"] = taskId
+        const res = await request('/dt_screen/rest/v2/task/listSystem/', 'post', params, false)
+        const { errorCode, errorMessage, success,data } = res.data;
+        if (success) {
+          console.log("sgw debug", data);
+          this.systemOptionForTask = data.map((item)=>{
+            return {
+              label:item.systemName,
+              value: item.systemId
+            }
+          })
+          this.systemSubGradeValue = this.systemOptionForTask[0].value
+        }
+      }
+    },
+
     // 切换任务
     changeTask(){
       this.systemSubjectId=''
       this.unitSubjectValue=''
       this.currentTaskName = this.taskOPtion.find( item => item.value== this.wholeOutTaskId ).label
       this.currentTaskGrade = this.taskList.find( item=> item.taskId==this.wholeOutTaskId).syntheticTaskScore
+      this.getUnitListByTaskId(this.wholeOutTaskId)
+      // 获取任务的系统列表
+      this.getSystemListByTaskId(this.wholeOutTaskId)
       // 获取地图的信息
       this.getMapDetail(this.wholeOutTaskId)
       // 获取任务的课目信息
@@ -1136,7 +1245,14 @@ export default {
     // 获取任务的课目信息
     async getSubjectList(taskId){
       let params={}
-      const res = await request(`/dt_screen/rest/v1/subject/list/${taskId}`, 'get', params, false)
+      params["taskId"] = taskId;
+      if (this.unitTaskValue !== null) {
+        params["unitId"] = this.unitTaskValue;
+      }
+      if (this.systemTaskId !== null) {
+        params["systemId"] = this.systemTaskId;
+      }
+      const res = await request(`/dt_screen/rest/v2/subject/listByCondition`, 'post', params, false)
       const { errorCode, errorMessage, success,data } = res.data;
       if (success) {
         console.log('获取任务的课目信息', data);
@@ -1171,16 +1287,17 @@ export default {
     },
     changeTaskSystem(){
       console.log('ckx debug this.systemTaskId ', this.systemTaskId )
+      this.getTaskList()
 
     },
     changeTaskUnit(){
       console.log('ckx debug this.unitTaskValue ', this.unitTaskValue )
+      this.getTaskList()
     },
     // 切换年度
     changeYear(){
       console.log('ckx debug this.currentYear ', this.currentYear )
-
-
+      this.getTaskList()
     },
 
     // 切换系统再结合任务id 获取课目课目列表
@@ -1238,10 +1355,10 @@ export default {
         this.getTaskList()
         // 获取全部任务状态占比
         this.getAllTaskDetail()
-        // 获取全部任务成绩统计
-        this.getAllTaskScore()
-        // 获取全部任务成绩分布
-        this.getAllTaskDistribution()
+        // // 获取全部任务成绩统计
+        // this.getAllTaskScore()
+        // // 获取全部任务成绩分布
+        // this.getAllTaskDistribution()
         // this.instructList=data
         // unitId,unitName
         this.unitOption = data.map((item)=>{
@@ -1251,7 +1368,7 @@ export default {
           }
         })
         this.unitFinshedValue=this.unitOption[0].value
-        this.unitSubGradeValue=this.unitOption[0].value
+        // this.unitSubGradeValue=this.unitOption[0].value
         this.getItemUnits()
       } else {
         this.$message.error(errorMessage)
@@ -1278,7 +1395,7 @@ export default {
           }
         })
         this.systemFinshedValue=this.systemOption[0].value
-        this.systemSubGradeValue=this.systemOption[0].value
+        // this.systemSubGradeValue=this.systemOption[0].value
         this.getItemSystem()
       } else {
         this.$message.error(errorMessage)
@@ -1328,7 +1445,10 @@ export default {
     // 切换一个系统查看课目的分数
     changeSystemSubGrade(){
       console.log('ckx debug systemSubGradeValue ', this.systemSubGradeValue )
-
+      // 获取某个任务下单位参与与课目人员的的成绩统计
+      this.getSystemSubjectPeopleScore(this.wholeOutTaskId,this.unitSubGradeValue)
+      // 获取某个任务下单位参与与课目人员的的成绩分布
+      this.getUnitSubjectPeopleDistribution(this.wholeOutTaskId,this.unitSubGradeValue)
     },
 
     // 获取某一个任务课目状态占比
@@ -1357,7 +1477,9 @@ export default {
     // 全部任务分数统计
     async getAllTaskScore(){
       let params={}
-      const res = await request('/dt_screen/rest/v1/statistics/taskScore', 'get', params, false)
+      params["taskIds"] = this.taskOPtion.map(item => item.value)
+      console.log("sgw debug:", params);
+      const res = await request('/dt_screen/rest/v2/statistics/taskScore', 'post', params, false)
       const { errorCode, errorMessage, success,data } = res.data;
       if (success) {
         console.log('全部任务分数统计', data);
@@ -1395,7 +1517,8 @@ export default {
     // 获取全部任务分布
     async getAllTaskDistribution(){
       let params={}
-      const res = await request('/dt_screen/rest/v1/statistics/taskScore/distribution', 'get', params, false)
+      params["taskIds"] = this.taskOPtion.map(item => item.value)
+      const res = await request('/dt_screen/rest/v2/statistics/taskScore/distribution', 'post', params, false)
       const { errorCode, errorMessage, success,data } = res.data;
       if (success) {
         console.log('获取全部任务成绩分布', data);
@@ -1442,39 +1565,55 @@ export default {
     // 获取某一个单位的任务完成率
     async getItemUnits(){
       let params={}
-      const res = await request(`/dt_screen/rest/v1/statistics/unit/${this.unitFinshedValue}/completionRate`, 'get', params, false)
+      if (this.currentYear !== null) {
+        params["startTime"] = this.currentYear[0];
+        params["endTime"] = this.currentYear[1];
+      }
+      if (this.unitTaskValue !== '') {
+        console.log("sgw debug conditionUnit", this.unitTaskValue);
+        params["unitId"] = this.unitTaskValue;
+      } else {
+        console.log("sgw debug selectUnit", this.unitFinshedValue);
+        params["unitId"] = this.unitFinshedValue
+      }
+
+
+      const res = await request(`/dt_screen/rest/v2/statistics/unit/completionRate`, 'post', params, false)
       const { errorCode, errorMessage, success,data } = res.data;
       if (success) {
         console.log('获取某一个单位的任务完成率', data);
         const { category, value  } = data
         let alldistributionData=[]
-        if(category.length){
-          category.forEach((item,index)=>{
-            alldistributionData.push({
-              name: item,
-              value: value[index]
+        if (category != null) {
+          if(category.length){
+            category.forEach((item,index)=>{
+              alldistributionData.push({
+                name: item,
+                value: value[index]
+              })
             })
-          })
-          let precentData='-%'
-          let isFinshedIndex = category.findIndex( item => item=='已完成')
-          if(isFinshedIndex != -1){
-            let isFinshedData = value[isFinshedIndex]
-            var totalData = value.reduce(function(a, b) {
-              return Number(a) + Number(b);
-            });
-            if(totalData==0){
-              precentData='-%'
-            }else {
-              precentData= Number((Number(isFinshedData)/ Number(totalData))*100)
-              precentData=  precentData % 10 ==0 ?  precentData +'%' : Number(precentData).toFixed(1)+'%'
+            let precentData='无数据'
+            let isFinshedIndex = category.findIndex( item => item=='已完成')
+            if(isFinshedIndex != -1){
+              let isFinshedData = value[isFinshedIndex]
+              var totalData = value.reduce(function(a, b) {
+                return Number(a) + Number(b);
+              });
+              if(totalData==0){
+                precentData='无数据'
+              }else {
+                precentData= Number((Number(isFinshedData)/ Number(totalData))*100)
+                precentData=  precentData % 10 ==0 ?  precentData +'%' : Number(precentData).toFixed(1)+'%'
+              }
             }
+            this.initEchartsTaskPrecent(alldistributionData,precentData)
+            this.completionRate=false
+          }else {
+            this.completionRate=true
           }
-          this.initEchartsTaskPrecent(alldistributionData,precentData)
-          this.completionRate=false
-        }else {
-          this.completionRate=true
+        } else {
+          this.completionRate = true;
         }
-
       } else {
         this.$message.error(errorMessage)
       }
@@ -1483,7 +1622,16 @@ export default {
     // 获取某一个系统的任务完成率
     async getItemSystem(){
       let params={}
-      const res = await request(`/dt_screen/rest/v1/statistics/system/${this.systemFinshedValue}/completionRate`, 'get', params, false)
+      if (this.currentYear !== null) {
+        params["startTime"] = this.currentYear[0];
+        params["endTime"] = this.currentYear[1];
+      }
+      if (this.systemTaskId !== '') {
+        params["systemId"] = this.systemTaskId;
+      } else {
+        params["systemId"] = this.systemFinshedValue
+      }
+      const res = await request(`/dt_screen/rest/v2/statistics/system/completionRate`, 'post', params, false)
       const { errorCode, errorMessage, success,data } = res.data;
       if (success) {
         console.log('获取某一个系统的任务完成率', data);
@@ -1496,7 +1644,7 @@ export default {
               value: value[index]
             })
           })
-          let precentData='-%'
+          let precentData='无数据'
           let isFinshedIndex = category.findIndex( item => item=='已完成')
           if(isFinshedIndex != -1){
             let isFinshedData = value[isFinshedIndex]
@@ -1504,7 +1652,7 @@ export default {
               return Number(a) + Number(b);
             });
             if(totalData==0){
-              precentData='-%'
+              precentData='无数据'
             }else {
               precentData= Number((Number(isFinshedData)/ Number(totalData))*100)
               precentData=  precentData % 10 ==0 ?  precentData +'%' : Number(precentData).toFixed(1)+'%'
@@ -2397,7 +2545,7 @@ export default {
       if(type=='more'){
         this.$router.push('/situationScreen')
       }else {
-        this.$router.push('/taskScreen')
+        this.$router.push('/historicTaskScreen')
       }
 
     },