From b403ec18cf9793dc881afe9a1ec4875cc2208dcc Mon Sep 17 00:00:00 2001
From: 董国庆 <364620639@qq.com>
Date: 星期五, 03 七月 2026 14:08:51 +0800
Subject: [PATCH] 修改bug:订单列表的车型-从输入框修改为下拉框选择

---
 src/views/transaction/order/orderManagement/index.vue |   49 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 48 insertions(+), 1 deletions(-)

diff --git a/src/views/transaction/order/orderManagement/index.vue b/src/views/transaction/order/orderManagement/index.vue
index 6e98f75..d824d36 100644
--- a/src/views/transaction/order/orderManagement/index.vue
+++ b/src/views/transaction/order/orderManagement/index.vue
@@ -16,6 +16,7 @@
 // import ReassignModal from './components/ReassignModal.vue'
 import CloseOrderModal from './components/CloseOrderModal.vue'
 import Modal from './components/Modal.vue'
+import { queryVehicleModelNoPageList } from '@/service/api/vehicleConvoy'
 import noDataImg from '@/assets/element-img/no-data.png'
 
 const { bool: loading, setTrue: startLoading, setFalse: endLoading } = useBoolean(false)
@@ -65,6 +66,23 @@
 const isPlateNumberOpen = ref(false)
 const isCityCodeIdOpen = ref(false)
 const isStatusOpen = ref(false)
+const isModelSelectOpen = ref(false)
+const modelOptions = ref<{ label: string, value: string | number }[]>([])
+
+// 获取车辆型号列表
+async function getVehicleModelList() {
+  try {
+    const { data } = await queryVehicleModelNoPageList()
+    modelOptions.value = data.map((item: any) => ({
+      label: item.name,
+      value: item.name, // 按名称搜索
+    }))
+  }
+  catch (error) {
+    // console.error('获取型号列表失败:', error)
+  }
+}
+
 const isOrderSourceOpen = ref(false)
 const modalRef = ref()
 const modalRef1 = ref()
@@ -667,7 +685,35 @@
   {
     label: t('transaction.selectedVehicleType'),
     path: 'vehicleModel',
-    render: () => <n-input v-model:value={model.value.vehicleModel} />,
+    render: () => (
+      <n-select
+        v-model:value={model.value.vehicleModel}
+        options={modelOptions.value}
+        clearable
+        placeholder="请选择"
+        onUpdate:show={(val: any) => isModelSelectOpen.value = val}
+      >
+        {{
+          arrow: () => (
+            <img
+              src="https://huishou-1323682843.cos.ap-nanjing.myqcloud.com/images/e120f81c-9f15-4e1a-9938-22252898edf9.png"
+              class={`arrow-icon ${isModelSelectOpen.value ? 'arrow-icon--open' : ''}`}
+              style={{ width: '16px', height: '16px' }}
+              alt="arrow"
+            />
+          ),
+          empty: () => (
+            <div class="flex-center">
+              <img
+                src={noDataImg}
+                style={{ width: '50%' }}
+                alt="no-data"
+              />
+            </div>
+          ),
+        }}
+      </n-select>
+    ),
   },
   {
     label: t('transaction.orderAmount'),
@@ -847,6 +893,7 @@
     return
   }
   getList()
+  getVehicleModelList()
   fetchCascaderData()
   fetchFleetList()
   fetchPlateNumberOptions()

--
Gitblit v1.7.1