| | |
| | | <script lang="ts" setup> |
| | | <script lang="ts" setup> |
| | | import type { MesProRouteProcessApi } from '#/api/mes/pro/route/process'; |
| | | import type { MesProWorkOrderApi } from '#/api/mes/pro/workorder'; |
| | | |
| | |
| | | |
| | | const emit = defineEmits(['success']); |
| | | const formType = ref<'detail' | 'schedule'>('schedule'); |
| | | const workOrder = ref<MesProWorkOrderApi.WorkOrder>(); // 当前工单详情 |
| | | const workOrder = ref<MesProWorkOrderApi.WorkOrder>(); // 当前订单详情 |
| | | const routeProcessList = ref<MesProRouteProcessApi.RouteProcess[]>([]); // 工艺路线工序列表 |
| | | const activeProcessStep = ref(0); // 当前工序步骤索引 |
| | | const currentRouteId = ref(0); // 当前工艺路线编号 |
| | | |
| | | const isReadonly = computed(() => formType.value === 'detail'); // 详情态只读 |
| | | const getTitle = computed(() => |
| | | formType.value === 'detail' ? '工单详情' : '生产排产', |
| | | formType.value === 'detail' ? '订单详情' : '生产排产', |
| | | ); |
| | | |
| | | const [Form, formApi] = useVbenForm({ |
| | |
| | | ); |
| | | } |
| | | |
| | | /** 完成工单 */ |
| | | /** 完成订单 */ |
| | | async function handleFinish() { |
| | | if (!workOrder.value?.id) { |
| | | return; |
| | |
| | | modalApi.lock(); |
| | | try { |
| | | await finishWorkOrder(workOrder.value.id); |
| | | message.success('工单已完成'); |
| | | message.success('订单已完成'); |
| | | await modalApi.close(); |
| | | emit('success'); |
| | | } finally { |
| | |
| | | <div class="flex flex-auto items-center gap-2"> |
| | | <Popconfirm |
| | | v-if="formType === 'schedule'" |
| | | title="确认要完成该工单吗?完成后工单下所有任务将标记为已完成。" |
| | | title="确认要完成该订单吗?完成后订单下所有任务将标记为已完成。" |
| | | @confirm="handleFinish" |
| | | > |
| | | <Button type="primary">完成</Button> |