| | |
| | | fetchTestPlanOrderPageList, |
| | | generateTestPlanPreviewOrders, |
| | | startTestPlanDispatch, |
| | | toggleTestPlanStopAtDropoff, |
| | | } from '@/service/api/testPlanManagement' |
| | | import PointSelectModal from './components/PointSelectModal.vue' |
| | | import VehicleSelectModal from './components/VehicleSelectModal.vue' |
| | |
| | | |
| | | // ================= Step 2: 订单生成结果预览 ================= |
| | | const isStopAtDropoff = ref(true) |
| | | const stopAtDropoffSubmitting = ref(false) |
| | | |
| | | // 切换「到下车点是否停车」时实时调用开关接口更新计划配置。 |
| | | // 接口失败则回滚开关,保证与后端状态一致。 |
| | | async function handleStopAtDropoffChange(value: boolean) { |
| | | if (!currentPlanId.value) { |
| | | message.warning('测试计划ID缺失,无法更新停车配置') |
| | | isStopAtDropoff.value = !value |
| | | return |
| | | } |
| | | |
| | | stopAtDropoffSubmitting.value = true |
| | | try { |
| | | const res = await toggleTestPlanStopAtDropoff(currentPlanId.value, value) |
| | | if (res.code !== 200 && res.code !== 0) { |
| | | throw new Error(res.msg || '更新停车配置失败') |
| | | } |
| | | message.success('停车配置已更新') |
| | | } |
| | | catch (error: any) { |
| | | isStopAtDropoff.value = !value |
| | | message.error(error?.message || '更新停车配置失败') |
| | | } |
| | | finally { |
| | | stopAtDropoffSubmitting.value = false |
| | | } |
| | | } |
| | | |
| | | interface Step2Row { |
| | | id: string |
| | |
| | | <span class="text-14px text-[#333] mr-12px" |
| | | >车辆到达下车点是否停靠</span |
| | | > |
| | | <n-switch v-model:value="isStopAtDropoff" /> |
| | | <n-switch |
| | | v-model:value="isStopAtDropoff" |
| | | :loading="stopAtDropoffSubmitting" |
| | | @update:value="handleStopAtDropoffChange" |
| | | /> |
| | | </div> |
| | | </div> |
| | | |