3 天以前 06f3df285a24234e60883cd5ae73c6153abf4155
src/views/mes/pro/task/modules/task-list.vue
@@ -4,7 +4,7 @@
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';
@@ -14,6 +14,7 @@
import { useTaskGridColumns } from '../data';
import TaskForm from './task-form.vue';
import QuickFeedbackForm from '../../workorder-center/modules/quick-feedback.vue';
const props = defineProps<{
  colorCode?: string;
@@ -22,12 +23,18 @@
  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,
});
@@ -43,6 +50,7 @@
      colorCode: props.colorCode,
      itemId: props.itemId,
      processId: props.processId,
      quantity: props.workOrderQuantity,
      routeId: props.routeId,
      workOrderId: props.workOrderId,
    })
@@ -52,6 +60,18 @@
/** 编辑任务 */
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();
}
/** 删除任务 */
@@ -105,14 +125,17 @@
// 工序步骤切换时重新加载当前工序的任务
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
@@ -137,6 +160,13 @@
        <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,