gaoluyang
95 分钟以前 787ccc59ba89bacc075562a161ecf02bc76ebadc
src/views/wls/salesnotice/modules/form.vue
@@ -30,7 +30,6 @@
  // 是否为编辑模式(可保存)
  ['create', 'update'].includes(formType.value),
);
const isFinish = computed(() => formType.value === 'finish'); // 是否为执行出库模式
const canSubmit = computed(
  () =>
    // 是否可提交
@@ -40,9 +39,6 @@
const getTitle = computed(() => {
  if (formType.value === 'detail') {
    return $t('ui.actionTitle.view', ['发货通知单']);
  }
  if (formType.value === 'finish') {
    return '执行出库';
  }
  return formType.value === 'update'
    ? $t('ui.actionTitle.edit', ['发货通知单'])
@@ -87,11 +83,6 @@
  }
}
/** 执行出库(后端暂未实现,提示用户) */
function handleFinish() {
  message.info('执行出库功能暂时不支持,敬请期待!');
}
const [Modal, modalApi] = useVbenModal({
  async onConfirm() {
    if (!isEditable.value) {
@@ -109,17 +100,21 @@
      if (formData.value?.id) {
        await updateSalesNotice({ ...formData.value, ...data });
        formData.value = { ...formData.value, ...data };
      } else {
        const id = await createSalesNotice(data);
        formData.value = {
          ...data,
          id,
          status: MesWmSalesNoticeStatusEnum.PREPARE,
        };
        await formApi.setFieldValue('id', id);
        await formApi.setFieldValue('status', formData.value.status);
        formType.value = 'update';
        emit('success');
        message.success($t('ui.actionMessage.operationSuccess'));
        await modalApi.close();
        return;
      }
      // 新增:保持弹窗打开,切换到编辑模式
      const id = await createSalesNotice(data);
      formData.value = {
        ...data,
        id,
        status: MesWmSalesNoticeStatusEnum.PREPARE,
      };
      await formApi.setFieldValue('id', id);
      await formApi.setFieldValue('status', formData.value.status);
      formType.value = 'update';
      originalSnapshot.value = JSON.stringify(await formApi.getValues());
      emit('success');
      message.success($t('ui.actionMessage.operationSuccess'));
@@ -173,9 +168,6 @@
        >
          <Button type="primary">提交</Button>
        </Popconfirm>
        <Button v-if="isFinish" type="primary" @click="handleFinish">
          执行出库
        </Button>
      </div>
    </template>
  </Modal>