2026-08-12 302e8457c8d34a35d7eabbd474d98ebc16120ed2
src/views/mes/qc/ipqc/modules/form.vue
@@ -5,8 +5,8 @@
import { computed, ref } from 'vue';
import { confirm, useVbenModal } from '../../../../../packages/effects/common-ui/src';
import { MesQcStatusEnum, MesQcTypeEnum } from '../../../../../packages/constants/src';
import { confirm, useVbenModal } from '@vben/common-ui';
import { MesQcCheckResultEnum, MesQcStatusEnum, MesQcTypeEnum } from '@vben/constants';
import { Button, Descriptions, message, Tabs } from 'ant-design-vue';
@@ -15,6 +15,8 @@
import { $t } from '#/locales';
import { QcIndicatorResultList } from '../../indicatorresult/components';
import MesQcAiSuggest from '../../components/ai-suggest.vue';
import MesQcAiAssistant from '../../components/ai-assistant.vue';
import { useFormSchema } from '../data';
import LineList from './line-list.vue';
@@ -67,6 +69,13 @@
    return false;
  }
  const data = (await formApi.getValues()) as MesQcIpqcApi.Ipqc;
  if (
    (data.unqualifiedQuantity == null || data.unqualifiedQuantity === 0) &&
    data.checkResult === MesQcCheckResultEnum.FAIL
  ) {
    message.warning('不合格品数量为0时,检测结果不能为"校验不通过"');
    return false;
  }
  if (formData.value?.id) {
    await updateIpqc({ ...data, id: formData.value.id });
    formData.value = { ...formData.value, ...data };
@@ -106,6 +115,13 @@
    const current = JSON.stringify(await formApi.getValues());
    if (current !== originalSnapshot.value) {
      const data = (await formApi.getValues()) as MesQcIpqcApi.Ipqc;
      if (
        (data.unqualifiedQuantity == null || data.unqualifiedQuantity === 0) &&
        data.checkResult === MesQcCheckResultEnum.FAIL
      ) {
        message.warning('不合格品数量为0时,检测结果不能为"校验不通过"');
        return;
      }
      await updateIpqc({ ...data, id });
      formData.value = { ...formData.value, ...data };
      originalSnapshot.value = current;
@@ -228,6 +244,12 @@
        <Button v-if="canFinish" type="primary" @click="handleFinish">
          完成
        </Button>
        <MesQcAiSuggest
          v-if="canFinish && formData?.id"
          :qc-id="formData.id"
          :qc-type="MesQcTypeEnum.IPQC"
        />
        <MesQcAiAssistant />
      </div>
    </template>
  </Modal>