无人机管理后台前端(已迁走)
chenyao
2025-11-22 260bbc03b9633f30d66b27e3f4b626d8115f341f
feat:智飞工单
3 files modified
144 ■■■■■ changed files
src/views/tickets/component/AddEditDetails.vue 53 ●●●●● patch | view | raw | blame | history
src/views/tickets/component/SearchBox.vue 61 ●●●●● patch | view | raw | blame | history
src/views/tickets/orderLog.vue 30 ●●●●● patch | view | raw | blame | history
src/views/tickets/component/AddEditDetails.vue
@@ -216,20 +216,23 @@
//周期
const weeks = ref(['每天', '周一', '周二', '周三', '周四', '周五', '周六', '周末', '周天', '工作日'])
const lineList = inject('lineList')
const aiTypeList = inject('aiTypeList')
// 获取航线
let lineList = ref([])
function getLines() {
  const formData = {
    name: '',
    waylineType: undefined,
    current: 1,
    size: 99999999,
    descs: 'update_time'
  }
  newGetWorkspacesPage(formData).then(res => {
    lineList.value = res.data.data.records
  })
}
// let lineList = ref([])
// function getLines() {
//   const formData = {
//     name: '',
//     waylineType: undefined,
//     current: 1,
//     size: 99999999,
//     descs: 'update_time'
//   }
//   newGetWorkspacesPage(formData).then(res => {
//     lineList.value = res.data.data.records
//   })
// }
function getOrderStatus (status) {
  const statusTextMap = {
@@ -239,6 +242,10 @@
    3: '已通过'
  }
  return statusTextMap[status] || '未知状态'
}
function disabledDate (time) {
  return time.getTime() < Date.now() - 8.64e7 // 86400000 = 24 * 60 * 60 * 1000
}
// 关联机巢
@@ -263,12 +270,12 @@
}
// 获取算法
let aiTypeList = ref([])
function aitypeList() {
  getDictionaryByCode('SF').then(res => {
    aiTypeList.value = res.data.data['SF']
  })
}
// let aiTypeList = ref([])
// function aitypeList() {
//   getDictionaryByCode('SF').then(res => {
//     aiTypeList.value = res.data.data['SF']
//   })
// }
// initMapLine 方法
const initMapLine = async (infos = {}, cb = () => {}) => {
@@ -388,10 +395,10 @@
  emit('refresh');
}
onMounted(async () => {
  aitypeList()
  getLines()
});
// onMounted(async () => {
//   aitypeList()
//   getLines()
// });
</script>
<style lang="scss" scoped>
src/views/tickets/component/SearchBox.vue
@@ -46,6 +46,7 @@
        <el-form-item label="工单状态:">
          <el-select
            :teleported="false"
            :disabled="activeTab === 'WAIT_AUDIT' || activeTab === 'REJECTED' || activeTab === 'PASS'"
            v-model="searchForm.status"
            placeholder="请选择关联航线"
            clearable>
@@ -106,28 +107,22 @@
const emit = defineEmits(['search']);
// 获取航线
let lineList = ref([])
function getLines() {
  const formData = {
    name: '',
    waylineType: undefined,
    current: 1,
    size: 99999999,
    descs: 'update_time'
  }
  newGetWorkspacesPage(formData).then(res => {
    lineList.value = res.data.data.records
  })
}
const rowObj = inject('rowObj')
const activeTab = inject('activeTab')
const lineList = inject('lineList')
const aiTypeList = inject('aiTypeList')
// 获取算法
let aiTypeList = ref([])
function aitypeList() {
  getDictionaryByCode('SF').then(res => {
    aiTypeList.value = res.data.data['SF']
  })
}
watch(activeTab, (newTab, oldTab) => {
  if(newTab === 'WAIT_AUDIT') {
    searchForm.status = '1'
  }
  if(newTab === 'REJECTED') {
    searchForm.status = '2'
  }
  if(newTab === 'PASS') {
    searchForm.status = '3'
  }
})
// 周期
const cycles = ref(['每天', '周一', '周二', '周三', '周四', '周五', '周六', '周末', '周天', '工作日'])
@@ -166,12 +161,24 @@
  emit('search', params);
};
onMounted(() => {
  aitypeList()
  getLines()
  // 查询一次
  // handleSearch()
});
function handleReset () {
  searchForm.ai_types = []
  searchForm.deal_time = ""
  searchForm.file_id = ""
  searchForm.key_word = ""
  searchForm.status = ''
  searchForm.rep_fre_type = ''
  searchForm.create_start_date = null
  searchForm.create_end_date = null
  searchForm.start_date = null
  searchForm.emd_date = null
  emit('search', searchForm);
}
// onMounted(() => {
//   aitypeList()
//   getLines()
// });
</script>
<style lang="scss" scoped>
src/views/tickets/orderLog.vue
@@ -105,6 +105,8 @@
  deleteOrderLog,
  getWaylineMaxTerrainHeight
} from '@/api/tickets/orderLog'
import { newGetWorkspacesPage } from '@/api/resource/wayline'
import { getDictionaryByCode } from '@/api/system/dictbiz'
import { cloneDeep } from 'lodash';
import { computed, onMounted } from 'vue';
import { ElMessage, ElMessageBox } from 'element-plus'
@@ -119,6 +121,7 @@
const isShowAddEditDetails = ref(false)
const activeTab = ref('all')
provide('activeTab', activeTab)
let tabsList = ref([
  // { label: '我的工单', name: 'my_order', value: null, count: 0 },
  // { label: '全部工单', name: 'all', value: null, count: 0 },
@@ -187,6 +190,31 @@
    if (tab) {
      tab.count = item.num
    }
  })
}
// 获取航线
let lineList = ref([])
provide('lineList', lineList)
function getLines() {
  const formData = {
    name: '',
    waylineType: undefined,
    current: 1,
    size: 99999999,
    descs: 'update_time'
  }
  newGetWorkspacesPage(formData).then(res => {
    lineList.value = res.data.data.records
  })
}
// 获取算法
let aiTypeList = ref([])
provide('aiTypeList', aiTypeList)
function aitypeList() {
  getDictionaryByCode('SF').then(res => {
    aiTypeList.value = res.data.data['SF']
  })
}
@@ -390,6 +418,8 @@
  filteredTabs()
  getTableList()
  updateGlobalCounts()
  getLines()
  aitypeList()
})
</script>