| | |
| | | // 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) |
| | |
| | | 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() |
| | |
| | | { |
| | | 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'), |
| | |
| | | return |
| | | } |
| | | getList() |
| | | getVehicleModelList() |
| | | fetchCascaderData() |
| | | fetchFleetList() |
| | | fetchPlateNumberOptions() |