无人机管理后台前端(已迁走)
shuishen
2025-05-19 2dfc8dc4bcd3d3cd4aed1b6054e073e140eba9c8
src/views/tickets/ticket.vue
@@ -439,7 +439,7 @@
    </el-dialog>
    <!-- 添加在其他 dialog 组件之后 -->
    <el-dialog v-model="reviewDialogVisible" title="批量审核" width="70%" append-to-body custom-class="review-dialog"
    <el-dialog v-model="reviewDialogVisible" title="批量审核" width="1100" append-to-body custom-class="review-dialog"
      @close="cancleBatchReject">
      <div class="review-container">
        <div class="review-image-wrapper">
@@ -449,9 +449,11 @@
          </div>
          <div class="review-image-container">
            <el-image v-if="currentReviewImage" :src="getThumbUrl(currentReviewImage)" fit="fill"
            <!-- <el-image v-if="currentReviewImage" :src="getThumbUrl(currentReviewImage)" fit="fill"
              :preview-src-list="getImageList()" :initial-index="currentImageIndex - 1" class="preview-image"
              style="cursor: pointer">
              style="cursor: pointer"> -->
            <el-image v-if="currentReviewImage" :src="getPreviewUrl(currentReviewImage)" fit="fill"
              :initial-index="currentImageIndex - 1" class="preview-image" style="cursor: pointer">
              <template #error>
                <div class="image-error">
                  <i class="el-icon-picture-outline"></i>
@@ -565,7 +567,6 @@
        { label: '待处理', value: '0' },
        { label: '处理中', value: '3' },
        { label: '已完成', value: '4' },
        { label: '已完结', value: '5' },
      ],
      reviewStatuses: [
        { label: '否', value: 0 },
@@ -594,7 +595,15 @@
          { label: '所属单位', prop: 'department', overHidden: true, tooltip: true },
          { label: '发起时间', prop: 'startTime', width: 160 },
          { label: '关联算法', prop: 'aiType', width: 150, overHidden: true, tooltip: true },
          { label: '工单类型', prop: 'type', width: 130, overHidden: true, tooltip: true },
          {
            label: '工单类型',
            prop: 'type',
            width: 130,
            overHidden: true,
            tooltip: true,
            type: 'select',
            dicData: [],
          },
          {
            label: '工单内容',
            prop: 'content',
@@ -859,7 +868,11 @@
    formattedDetailFields () {
      const fields = [
        { label: '工单名称', value: this.currentDetail.orderName },
        { label: '工单类型', value: this.currentDetail.type },
        {
          label: '工单类型',
          // 修改这里:使用 types 数组查找对应的 label
          value: this.types.find(t => t.value === this.currentDetail.type)?.label || this.currentDetail.type || '/'
        },
        { label: '关联任务', value: this.currentDetail.job_name || '/' },
        { label: '任务发起人', value: this.currentDetail.creator },
        { label: '当前状态', value: this.mapStatus(this.currentDetail.status) },
@@ -1048,6 +1061,9 @@
          value: key,
        }))
        const columnType = this.findObject(this.option.column, 'type')
        columnType.dicData = this.types
        // 确保算法数据的映射一致
        this.algorithms =
          ai_type?.map(item => ({
@@ -1129,7 +1145,7 @@
            startTime: item.create_time,
            aiType: item.ai_types,
            content: item.content, // 将后端返回的 content 映射为 content
            type: this.types.find(t => t.value === item.work_order_type_dict_key)?.label,
            type: item.work_order_type_dict_key,
            keyData:
              !isNaN(longitude) && !isNaN(latitude)
                ? `${longitude.toFixed(6)}, ${latitude.toFixed(6)}`
@@ -1333,7 +1349,6 @@
        0: '待处理',
        3: '处理中',
        4: '已完成',
        5: '已完结',
      }
      return statusTextMap[status] || '未知状态'
    },
@@ -1347,7 +1362,6 @@
        3: '#e57373', // 处理中-更淡红
        2: '#faad14', // 待审核-橙色
        4: '#a0cfff', // 已完成-淡蓝
        5: '#67c23a', // 已完结-绿色
      }
      return colorMap[String(status)] || ''
    },
@@ -2406,11 +2420,11 @@
    reCheckConfirm (key) {
      const that = this
      if (key == 1) {
        getReviewById(this.reCheckData.id).then(res => {
          this.reCheckDialog = false
          this.page.currentPage = 1
          this.fetchTableData()
          this.fetchTabCounts()
        getReviewById(that.reCheckData.id).then(res => {
          that.reCheckDialog = false
          that.page.currentPage = 1
          that.fetchTableData()
          that.fetchTabCounts()
        })
      } else {
        const loading = ElLoading.service({
@@ -2419,20 +2433,29 @@
          background: 'rgba(0, 0, 0, 0.7)',
        })
        function closeConfirm () {
          that.reCheckDialog = false
          that.page.currentPage = 1
          that.fetchTableData()
          that.fetchTabCounts()
          loading.close()
        }
        // 获取时间的接口
        getCreateEventJob(that.reCheckData.id).then(res => {
          loading.close()
          ElMessageBox.confirm(`预计复核执行时间为${res.data.data}`, '提示', {
            confirmButtonText: '确定',
            showCancelButton: false, // 关键配置
            closeOnClickModal: false,
            closeOnPressEscape: false,
            type: 'warning',
          }).then(() => {
            this.reCheckDialog = false
            this.page.currentPage = 1
            this.fetchTableData()
            this.fetchTabCounts()
            closeConfirm()
          }).catch(() => {
            closeConfirm()
          })
        }).catch(() => {
          closeConfirm()
        })
      }
    },
@@ -2960,6 +2983,7 @@
  :deep(.el-dialog__body) {
    padding: 0;
    background-color: #f5f7fa;
  }
}