无人机管理后台前端(已迁走)
张含笑
2025-12-09 5808f76456ca0d40de5074f132b73a5a488e3e13
src/views/job/components/TaskIntermediateContent/TaskIntermediateContent.vue
@@ -17,7 +17,7 @@
            </el-tooltip-copy>
          </template>
        </el-table-column>
        <el-table-column prop="name" label="任务编号" width="160">
        <el-table-column prop="name" label="任务名称" width="160">
          <template #default="scope">
            <el-tooltip-copy :content="scope.row.name" :showCopyText="true">
              {{scope.row.name}}
@@ -85,9 +85,19 @@
                  <el-button icon="el-icon-view" type="text" @click="handleDetail(scope.row)">查看</el-button>
               </template>
            </el-table-column>
        <template #empty>
          <el-empty
            class="custom-empty"
            :image-size="100"
          >
            <template #description>
              <span class="custom-text">暂无数据</span>
            </template>
          </el-empty>
        </template>
         </el-table>
      </div>
      <div class="pagination">
      <div class="pagination" v-if="jobListData.length > 0">
         <el-pagination class="ztzf-pagination" popper-class="custom-pagination-dropdown" background
            :page-sizes="[10, 20, 30, 40, 50, 100]" :size="size" v-model:current-page="jobListParams.current"
            v-model:page-size="jobListParams.size" layout="total, sizes, prev, pager, next, jumper" :total="total"
@@ -100,10 +110,10 @@
   <!-- <CurrentTaskDetails
      v-if="isShowCurrentTaskDetails"
      v-model:show="isShowCurrentTaskDetails"
      :wayLineJodInfoId="rowData.id"
      :wayLineJobInfoId="rowData.id"
   /> -->
   <!-- 历史任务详情 -->
   <DeviceJobDetails v-if="isShowDeviceJobDetails" v-model:show="isShowDeviceJobDetails" :wayLineJodInfoId="rowData.id"
   <DeviceJobDetails v-if="isShowDeviceJobDetails" v-model:show="isShowDeviceJobDetails" :wayLineJobInfoId="rowData.id"
      :batchNo="rowData.batch_no" :jobId="jobId"/>
   <CancelTaskDialog ref="cancelTaskDialogRef" v-model:isShowCancelTask="isShowCancelTask" :row-data="rowData"
      @refresh="getJobList" />
@@ -181,7 +191,7 @@
      // isShowCurrentTaskDetails.value = true
      // 跳转大屏当前任务详情
      const adminUrl = `${import.meta.env.VITE_APP_AREA_NAME}/command-center-dashboard/#/taskManage`
      const targetPath = `id=${encodeURIComponent(rowData.value.id)}&batchNo=${encodeURIComponent(rowData.value.batch_no)}`
      const targetPath = `id=${encodeURIComponent(rowData.value.id)}&batchNo=${encodeURIComponent(rowData.value.batch_no)}&dockSn=${encodeURIComponent(rowData.value.device_sns[0])}`
      window.open(`${adminUrl}?${targetPath}`, '_blank')
   } else {
      isShowDeviceJobDetails.value = true
@@ -264,17 +274,16 @@
const changeKey = inject('changeKey')
// 轮询查询是否刷新
const polling = setInterval(async () => {
  const res = await statusChangedApi()
  if (res.data.data.DEVICE_REFRESH || res.data.data.JOB_REFRESH) {
    getJobList()
    changeKey.value++
  }
}, 4000)
const jobUpdateKey = computed(() => store.state.common.jobUpdateKey)
const deviceUpdateKey = computed(() => store.state.common.deviceUpdateKey)
watch([jobUpdateKey,deviceUpdateKey],()=>{
  getJobList()
  changeKey.value++
})
onBeforeUnmount(() => {
  clearInterval(polling)
  // clearInterval(polling)
})
onMounted(() => {
@@ -299,7 +308,22 @@
      flex: 1;
      margin-top: 18px;
      overflow: auto;
    :deep(.el-scrollbar__view) {
      height: 100%;
    }
    :deep(.el-table--fit,.el-scrollbar__view) {
      height: 100%;
    }
   }
  .custom-empty {
    //font-family: Source Han Sans CN, Source Han Sans CN;
    //margin-top: 15%;
    //.custom-text {
    //  color: #fff;
    //  font-size: 16px;
    //}
  }
   .btnItem {
      height: 27px;
@@ -345,6 +369,7 @@
   :deep(.el-pagination) {
      display: flex;
    padding: 20px 0;
      justify-content: right;
   }