gaoluyang
8 天以前 198f9b1460eae7c5fe012a78e48b38911ce76936
采购/到货:去掉方案里没有的质检字段与入口

客户方案没有质量管理模块(菜单里无 IQC/检验页面),采购申请、采购订单、
到货通知却仍带「是否质检/是否检验」开关和「执行质检」按钮,属于死入口:
- 采购申请单、采购订单:明细表单去掉是否质检开关,列表/详情去掉对应列
- 到货通知:行表单/行选择弹窗去掉是否检验,列表去掉是否检验/质检结果/
合格数量/检验单号列,去掉「执行质检」按钮与跳转 IQC 的逻辑
采购订单生成到货通知时质检标识随之为空,到货通知直接进入待入库。

Co-Authored-By: Claude Code <noreply@anthropic.com>
已修改10个文件
137 ■■■■■ 文件已修改
src/views/erp/purchase/order/data.ts 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/erp/purchase/order/modules/item-form.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/erp/purchase/request/data.ts 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/erp/purchase/request/detail/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/erp/purchase/request/modules/form.vue 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/erp/purchase/request/modules/item-form.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/wls/arrivalnotice/components/line-select-dialog.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/wls/arrivalnotice/data.ts 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/wls/arrivalnotice/index.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/wls/arrivalnotice/modules/line-list.vue 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/erp/purchase/order/data.ts
@@ -272,13 +272,6 @@
      slots: { default: 'remark' },
    },
    {
      field: 'qcCheckFlag',
      title: '是否质检',
      minWidth: 80,
      fixed: 'right',
      slots: { default: 'qcCheckFlag' },
    },
    {
      field: 'count',
      title: '数量',
      minWidth: 120,
src/views/erp/purchase/order/modules/item-form.vue
@@ -10,7 +10,7 @@
  erpPriceMultiply,
} from '@vben/utils';
import { Input, InputNumber, Switch } from 'ant-design-vue';
import { Input, InputNumber } from 'ant-design-vue';
import { TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
import { MdmItemSelect } from '#/views/basicData/mdm/components';
@@ -130,7 +130,6 @@
    taxPrice: undefined,
    totalPrice: undefined,
    remark: undefined,
    qcCheckFlag: false,
  };
  tableData.value.push(newRow);
  // 通知父组件更新
@@ -249,16 +248,6 @@
    <template #remark="{ row }">
      <Input v-if="!disabled" v-model:value="row.remark" class="w-full" />
      <span v-else>{{ row.remark || '-' }}</span>
    </template>
    <template #qcCheckFlag="{ row }">
      <Switch
        v-if="!disabled"
        v-model:checked="row.qcCheckFlag"
        checked-children="是"
        un-checked-children="否"
        @change="handleRowChange(row)"
      />
      <span v-else>{{ row.qcCheckFlag ? '是' : '否' }}</span>
    </template>
    <template #taxPercent="{ row }">
      <InputNumber
src/views/erp/purchase/request/data.ts
@@ -255,13 +255,6 @@
      slots: { default: 'remark' },
    },
    {
      field: 'qcCheckFlag',
      title: '是否质检',
      minWidth: 80,
      fixed: 'right',
      slots: { default: 'qcCheckFlag' },
    },
    {
      title: '操作',
      width: 50,
      fixed: 'right',
src/views/erp/purchase/request/detail/index.vue
@@ -65,12 +65,6 @@
      minWidth: 160,
      showOverflow: 'tooltip',
    },
    {
      field: 'qcCheckFlag',
      title: '是否质检',
      minWidth: 80,
      formatter: ({ cellValue }) => (cellValue ? '是' : '否'),
    },
  ];
}
src/views/erp/purchase/request/modules/form.vue
@@ -86,7 +86,6 @@
      count: item.count,
      taxPercent: item.taxPercent,
      demandTime: item.demandTime,
      qcCheckFlag: item.qcCheckFlag,
      remark: item.remark,
    }));
    try {
src/views/erp/purchase/request/modules/item-form.vue
@@ -9,7 +9,7 @@
  erpPriceMultiply,
} from '@vben/utils';
import { Input, InputNumber, DatePicker, Switch } from 'ant-design-vue';
import { Input, InputNumber, DatePicker } from 'ant-design-vue';
import { TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
import { MdmItemSelect } from '#/views/basicData/mdm/components';
@@ -96,7 +96,6 @@
    demandTime: undefined,
    remark: undefined,
    totalPrice: 0,
    qcCheckFlag: false,
  };
  tableData.value.push(newRow);
  emit('update:items', [...tableData.value]);
@@ -231,16 +230,6 @@
    <template #remark="{ row }">
      <Input v-if="!disabled" v-model:value="row.remark" class="w-full" @change="handleRowChange(row)" />
      <span v-else>{{ row.remark || '-' }}</span>
    </template>
    <template #qcCheckFlag="{ row }">
      <Switch
        v-if="!disabled"
        v-model:checked="row.qcCheckFlag"
        checked-children="是"
        un-checked-children="否"
        @change="handleRowChange(row)"
      />
      <span v-else>{{ row.qcCheckFlag ? '是' : '否' }}</span>
    </template>
    <template #actions="{ row }">
      <TableAction
src/views/wls/arrivalnotice/components/line-select-dialog.vue
@@ -4,8 +4,6 @@
import { nextTick, ref } from 'vue';
import { DICT_TYPE } from '@vben/constants';
import { message, Modal } from 'ant-design-vue';
import { useVbenVxeGrid } from '#/adapter/vxe-table';
@@ -51,20 +49,6 @@
    {
      field: 'arrivalQuantity',
      title: '到货数量',
      width: 100,
    },
    {
      field: 'iqcCheckFlag',
      title: '是否检验',
      width: 90,
      cellRender: {
        name: 'CellDict',
        props: { type: DICT_TYPE.INFRA_BOOLEAN_STRING },
      },
    },
    {
      field: 'qualifiedQuantity',
      title: '合格数量',
      width: 100,
    },
    {
src/views/wls/arrivalnotice/data.ts
@@ -9,7 +9,6 @@
import { Button } from 'ant-design-vue';
import { z } from '#/adapter/form';
import { generateAutoCode } from '#/api/mes/md/autocode/record';
import { getRangePickerDefaultProps } from '#/utils';
import { MdmItemSelect } from '#/views/basicData/mdm/components';
@@ -298,32 +297,6 @@
      width: 100,
    },
    {
      field: 'iqcCheckFlag',
      title: '是否检验',
      width: 90,
      cellRender: {
        name: 'CellDict',
        props: { type: DICT_TYPE.INFRA_BOOLEAN_STRING },
      },
    },
    {
      field: 'iqcCheckResult',
      title: '质检结果',
      width: 100,
      slots: { default: 'iqcCheckResult' },
    },
    {
      field: 'qualifiedQuantity',
      title: '合格数量',
      width: 100,
    },
    {
      field: 'iqcCode',
      title: '检验单号',
      minWidth: 140,
      slots: { default: 'iqcCode' },
    },
    {
      field: 'remark',
      title: '备注',
      minWidth: 120,
@@ -364,12 +337,6 @@
        precision: 2,
      },
      rules: 'required',
    },
    {
      fieldName: 'iqcCheckFlag',
      label: '是否检验',
      component: 'Switch',
      rules: z.boolean().default(false),
    },
    {
      fieldName: 'remark',
src/views/wls/arrivalnotice/index.vue
@@ -67,11 +67,6 @@
  }
}
/** 提示前往质检模块 */
function handleQc() {
  message.info('请前往【质量管理 - IQC检验】中进行来料检验操作');
}
/** 执行入库:根据到货通知单生成采购入库单 */
async function handleReceipt(row: MesWmArrivalNoticeApi.ArrivalNotice) {
  const hideLoading = message.loading({
@@ -207,12 +202,6 @@
                title: $t('ui.actionMessage.deleteConfirm', [row.code]),
                confirm: handleDelete.bind(null, row),
              },
            },
            {
              label: '执行质检',
              type: 'link',
              ifShow: row.status === MesWmArrivalNoticeStatusEnum.PENDING_QC,
              onClick: handleQc,
            },
            {
              label: '执行入库',
src/views/wls/arrivalnotice/modules/line-list.vue
@@ -6,11 +6,9 @@
import { computed } from 'vue';
import { useRouter } from 'vue-router';
import { useVbenModal } from '@vben/common-ui';
import { Button, message, Tag } from 'ant-design-vue';
import { Button, message } from 'ant-design-vue';
import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table';
import {
@@ -27,7 +25,6 @@
  noticeId: number;
}>();
const router = useRouter();
const isEditable = computed(() =>
  // 是否可编辑明细行
@@ -66,13 +63,6 @@
    handleRefresh();
  } finally {
    hideLoading();
  }
}
/** 跳转 IQC 检验单详情 */
function handleOpenIqc(row: MesWmArrivalNoticeLineApi.ArrivalNoticeLine) {
  if (row.iqcId) {
    router.push({ name: 'MesQcIqc', query: { id: row.iqcId } });
  }
}
@@ -121,24 +111,6 @@
            },
          ]"
        />
      </template>
      <template #iqcCode="{ row }">
        <Button
          v-if="row.iqcCode"
          size="small"
          type="link"
          @click="handleOpenIqc(row)"
        >
          {{ row.iqcCode }}
        </Button>
        <span v-else>-</span>
      </template>
      <template #iqcCheckResult="{ row }">
        <Tag v-if="row.iqcCheckResult === 1" color="success">合格</Tag>
        <Tag v-else-if="row.iqcCheckResult === 2" color="warning">特采</Tag>
        <Tag v-else-if="row.iqcCheckResult === 3" color="error">不合格退货</Tag>
        <Tag v-else-if="row.iqcCheckResult === 4" color="error">不合格报废</Tag>
        <span v-else>-</span>
      </template>
      <template #actions="{ row }">
        <TableAction