无人机管理后台前端(已迁走)
张含笑
2025-12-09 5808f76456ca0d40de5074f132b73a5a488e3e13
src/views/tickets/component/SearchBox.vue
@@ -2,16 +2,16 @@
  <div class="search-box-test">
    <el-form :model="searchForm" inline>
      <div class="search-first">
        <el-form-item>
        <el-form-item label="关键字:">
          <el-input v-model="searchForm.key_word" placeholder="编号/名称/内容/姓名" clearable />
        </el-form-item>
        <el-form-item label="选择日期:">
        <el-form-item label="选择日期:" :style="{ width: pxToRem(460) }">
          <el-date-picker
            v-model="dateRange"
            type="daterange"
            range-separator="至" start-placeholder="开始日期"
            end-placeholder="结束日期"
            :default-value="datePickerDefaultVal" />
            :default-value="datePickerDefaultVal" @change="handleSearch" />
        </el-form-item>
        <el-form-item label="关联航线:">
          <el-select
@@ -32,9 +32,9 @@
        <el-form-item label="关联算法:">
          <el-select
            :teleported="false"
            v-model="searchForm.ai_types"
            placeholder="请选择关联航线"
            clearable>
            v-model="searchForm.ai_typesValue"
            placeholder="请选择关联算法"
            clearable @change="handleSearch">
            <el-option
              v-for="item in aiTypeList"
              :key="item.dictKey"
@@ -48,7 +48,8 @@
            :teleported="false"
            :disabled="activeTab === 'WAIT_AUDIT' || activeTab === 'REJECTED' || activeTab === 'PASS'"
            v-model="searchForm.status"
            placeholder="请选择关联航线"
            placeholder="请选择单状态"
            @change="handleSearch"
            clearable>
            <el-option
              v-for="item in orderStatus"
@@ -58,21 +59,21 @@
            />
          </el-select>
        </el-form-item>
        <el-form-item label="工单周期:">
        <el-form-item label="工单周期:" :style="{ width: pxToRem(460) }">
          <el-date-picker
            v-model="cycleDateRange"
            type="daterange"
            range-separator="至" start-placeholder="开始日期"
            end-placeholder="结束日期"
            :default-value="datePickerDefaultVal" />
            :default-value="datePickerDefaultVal" @change="handleSearch"/>
        </el-form-item>
        <el-form-item label="选择频次:">
          <el-select v-model="searchForm.rep_fre_type" placeholder="请选择频次" clearable>
          <el-select v-model="searchForm.rep_fre_type" placeholder="请选择频次" clearable @change="handleSearch">
            <el-option v-for="item in cycles" :key="item" :label="item" :value="item" />
          </el-select>
        </el-form-item>
        <el-form-item label="执行时间:">
          <el-time-picker
          <el-time-picker @change="handleSearch"
            v-model="searchForm.deal_time"
            placeholder="请选择执行时间"
            prop="deal_time"
@@ -98,6 +99,7 @@
const cycleDateRange = ref('')
const searchForm = reactive({
  ai_types: [],
  ai_typesValue: '',
  deal_time: "",
  file_id: "",
  key_word: "",
@@ -113,6 +115,9 @@
const aiTypeList = inject('aiTypeList')
watch(activeTab, (newTab, oldTab) => {
  if (newTab === 'all') {
    searchForm.status = ''
  }
  if(newTab === 'WAIT_AUDIT') {
    searchForm.status = '1'
  }
@@ -122,7 +127,8 @@
  if(newTab === 'PASS') {
    searchForm.status = '3'
  }
}, { immediate: true })
  emit('search', searchForm);
})
// 周期
const cycles = ref(['每天', '周一', '周二', '周三', '周四', '周五', '周六', '周末', '周天', '工作日'])
@@ -138,6 +144,9 @@
  if (!dateRange.value) {
    dateRange.value = [];
  }
  if (!cycleDateRange.value) {
    cycleDateRange.value = [];
  }
  // if (dateRange.value && dateRange.value.length) {
  //   checked.value = '';
  //   searchForm.date_enum = '';
@@ -148,14 +157,14 @@
    create_start_date: dateRange.value.length
      ? dayjs(dateRange?.value[0]).startOf('day').format(timeFormat)
      : null,
    create_end_date: dateRange.value.length
    create_end_date: dateRange?.value.length
      ? dayjs(dateRange?.value[1]).endOf('day').format(timeFormat)
      : null,
    start_date: cycleDateRange.value.length
      ? dayjs(dateRange?.value[0]).startOf('day').format(timeFormat)
    start_date: cycleDateRange?.value.length
      ? dayjs(cycleDateRange?.value[0]).startOf('day').format(timeFormat)
      : null,
    emd_date: cycleDateRange.value.length
      ? dayjs(dateRange?.value[1]).startOf('day').format(timeFormat)
    end_date: cycleDateRange?.value.length
      ? dayjs(cycleDateRange?.value[1]).startOf('day').format(timeFormat)
      : null,
  };
  emit('search', params);
@@ -163,13 +172,18 @@
function handleReset () {
  searchForm.ai_types = []
  searchForm.ai_typesValue = ''
  searchForm.deal_time = ""
  searchForm.file_id = ""
  searchForm.key_word = ""
  searchForm.status = ''
  if (activeTab.value === 'all') {
    searchForm.status = ''
  }
  searchForm.rep_fre_type = ''
  dateRange.value = ''
  searchForm.create_start_date = null
  searchForm.create_end_date = null
  cycleDateRange.value = ''
  searchForm.start_date = null
  searchForm.emd_date = null
  emit('search', searchForm);
@@ -280,6 +294,9 @@
    :deep(.el-input__wrapper.is-disabled) {
      box-shadow: 0 0 0 1px #026ad6;
    }
    .el-form-item__label {
      width: 80px;
    }
    .el-form-item {
      margin-bottom: 0;