董国庆
2026-07-03 b403ec18cf9793dc881afe9a1ec4875cc2208dcc
修改bug:订单列表的车型-从输入框修改为下拉框选择
1个文件已修改
49 ■■■■■ 已修改文件
src/views/transaction/order/orderManagement/index.vue 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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()