From 5808f76456ca0d40de5074f132b73a5a488e3e13 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Tue, 09 Dec 2025 09:12:03 +0800
Subject: [PATCH] Merge branch 'refs/heads/feature/v9.0/9.0.1' into test

---
 src/views/tickets/component/SearchBox.vue |   53 +++++++++++++++++++++++++++++++++++------------------
 1 files changed, 35 insertions(+), 18 deletions(-)

diff --git a/src/views/tickets/component/SearchBox.vue b/src/views/tickets/component/SearchBox.vue
index d3acb67..05d7d21 100644
--- a/src/views/tickets/component/SearchBox.vue
+++ b/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;

--
Gitblit v1.9.3