gaoluyang
2026-07-10 57295febd254991c01eff2345ba293b89287689d
src/views/wls/itemreceipt/modules/form.vue
@@ -5,8 +5,8 @@
import { computed, ref } from 'vue';
import { confirm, useVbenModal } from '../../../../packages/effects/common-ui/src';
import { MesWmItemReceiptStatusEnum } from '../../../../packages/constants/src';
import { confirm, useVbenModal } from '@vben/common-ui';
import { MesWmItemReceiptStatusEnum } from '@vben/constants';
import { Button, Divider, message, Popconfirm } from 'ant-design-vue';
@@ -17,6 +17,7 @@
  getItemReceipt,
  stockItemReceipt,
  submitItemReceipt,
  submitItemReceiptApproval,
  updateItemReceipt,
} from '#/api/mes/wm/itemreceipt';
import { $t } from '#/locales';
@@ -37,6 +38,12 @@
const canSubmit = computed(
  () =>
    // 是否可提交
    formType.value === 'update' &&
    formData.value?.status === MesWmItemReceiptStatusEnum.PREPARE,
);
const canSubmitApproval = computed(
  () =>
    // 是否可提交审批
    formType.value === 'update' &&
    formData.value?.status === MesWmItemReceiptStatusEnum.PREPARE,
);
@@ -118,6 +125,24 @@
  try {
    await finishItemReceipt(formData.value.id);
    message.success('入库成功');
    await modalApi.close();
    emit('success');
  } finally {
    modalApi.unlock();
  }
}
/** 提交审批 */
async function handleSubmitApproval() {
  if (!formData.value?.id) {
    return;
  }
  modalApi.lock();
  try {
    // 使用默认流程key,实际项目中可能需要弹窗选择
    const processDefinitionKey = 'item_receipt_approval';
    await submitItemReceiptApproval(formData.value.id, processDefinitionKey);
    message.success('提交审批成功');
    await modalApi.close();
    emit('success');
  } finally {
@@ -230,6 +255,9 @@
        >
          <Button type="primary">提交</Button>
        </Popconfirm>
        <Button v-if="canSubmitApproval" type="primary" @click="handleSubmitApproval">
          提交审批
        </Button>
        <Button v-if="isStock" type="primary" @click="confirmStock">
          执行上架
        </Button>