| | |
| | | |
| | | import { computed, watch } from 'vue'; |
| | | |
| | | import { useVbenModal } from '..\..\..\..\..\packages\effects\common-ui\src'; |
| | | import { useVbenModal } from '@vben/common-ui'; |
| | | |
| | | import { message } from 'ant-design-vue'; |
| | | |
| | |
| | | |
| | | import { useTaskGridColumns } from '../data'; |
| | | import TaskForm from './task-form.vue'; |
| | | import QuickFeedbackForm from '../../workorder-center/modules/quick-feedback.vue'; |
| | | |
| | | const props = defineProps<{ |
| | | colorCode?: string; |
| | |
| | | processId: number; |
| | | routeId: number; |
| | | workOrderId: number; |
| | | workOrderQuantity?: number; |
| | | }>(); |
| | | |
| | | const editable = computed(() => !props.disabled); // 是否可维护任务 |
| | | |
| | | const [TaskFormModal, taskFormModalApi] = useVbenModal({ |
| | | connectedComponent: TaskForm, |
| | | destroyOnClose: true, |
| | | }); |
| | | |
| | | const [QuickFeedbackModal, quickFeedbackModalApi] = useVbenModal({ |
| | | connectedComponent: QuickFeedbackForm, |
| | | destroyOnClose: true, |
| | | }); |
| | | |
| | |
| | | colorCode: props.colorCode, |
| | | itemId: props.itemId, |
| | | processId: props.processId, |
| | | quantity: props.workOrderQuantity, |
| | | routeId: props.routeId, |
| | | workOrderId: props.workOrderId, |
| | | }) |
| | |
| | | /** 编辑任务 */ |
| | | function handleEdit(row: MesProTaskApi.Task) { |
| | | taskFormModalApi.setData({ id: row.id }).open(); |
| | | } |
| | | |
| | | /** 快速报工 */ |
| | | function handleQuickFeedback(row: MesProTaskApi.Task) { |
| | | quickFeedbackModalApi |
| | | .setData({ |
| | | taskId: row.id, |
| | | taskCode: row.code, |
| | | taskQuantity: row.quantity, |
| | | taskProducedQuantity: row.producedQuantity, |
| | | }) |
| | | .open(); |
| | | } |
| | | |
| | | /** 删除任务 */ |
| | |
| | | |
| | | // 工序步骤切换时重新加载当前工序的任务 |
| | | watch( |
| | | () => props.processId, |
| | | () => [props.workOrderId, props.routeId, props.processId], |
| | | () => handleRefresh(), |
| | | ); |
| | | |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div> |
| | | <TaskFormModal @success="handleRefresh" /> |
| | | <QuickFeedbackModal @success="handleRefresh" /> |
| | | <Grid table-title="生产任务"> |
| | | <template v-if="editable" #toolbar-tools> |
| | | <TableAction |
| | |
| | | <TableAction |
| | | :actions="[ |
| | | { |
| | | label: '报工', |
| | | type: 'link', |
| | | auth: ['mes:pro-feedback:create'], |
| | | ifShow: (row.quantity ?? 0) > (row.producedQuantity ?? 0), |
| | | onClick: handleQuickFeedback.bind(null, row), |
| | | }, |
| | | { |
| | | label: $t('common.edit'), |
| | | type: 'link', |
| | | icon: ACTION_ICON.EDIT, |