10 小时以前 08bb5d242135e2c1f0fc17d2b5f7ae548275a3a2
src/views/mes/pro/components/qr-trace-modal.vue
@@ -35,13 +35,19 @@
  const traceTypeLabel = ref("");
  /** 识别二维码内容类型:批次号 / 托盘码 / 袋码 */
  /** 识别二维码内容类型:批次号(含临时批次码)/ 托盘码(含临时托盘码)/ 袋码 */
  function resolveCodeType(raw: string): TraceType | undefined {
    const value = raw.trim().toUpperCase();
    if (/^PB-\d{8}$/.test(value)) {
      return "batch";
    }
    if (/^PL-\d{8}$/.test(value)) {
      return "pallet";
    }
    if (/^.*-P\d{2}$/.test(value)) {
      return "pallet";
    }
    if (/^.*-\d{4}$/.test(value)) {
    if (/^BAG-\d{8}$/.test(value) || /^.*-\d{4}$/.test(value)) {
      return "bag";
    }
    return "batch";
@@ -125,7 +131,7 @@
    if (traceType.value === "pallet" && palletTrace.value) {
      const d = palletTrace.value;
      return [
        { label: "托盘码", value: d.code || "" },
        { label: "托盘码", value: d.code || d.tempCode || "" },
        { label: "托盘序号", value: d.palletNo ? String(d.palletNo) : "" },
        { label: "批次号", value: d.batchCode || "" },
        { label: "品种", value: d.itemName || "" },
@@ -141,7 +147,7 @@
    if (batchTrace.value) {
      const d = batchTrace.value;
      return [
        { label: "批次号", value: d.code || "" },
        { label: "批次号", value: d.code || d.tempCode || "" },
        { label: "品种", value: d.itemName || "" },
        { label: "规格", value: d.itemSpecification || "" },
        {
@@ -357,7 +363,12 @@
    schema: [
      {
        field: "code",
        label: "托盘码(二维码内容)",
        label: "托盘码(正式托盘码)",
        span: 2,
      },
      {
        field: "tempCode",
        label: "临时托盘码(未绑定批次)",
        span: 2,
      },
      {
@@ -419,7 +430,12 @@
    schema: [
      {
        field: "code",
        label: "批次号(二维码内容)",
        label: "批次号(正式批次号)",
        span: 2,
      },
      {
        field: "tempCode",
        label: "临时批次码(待补录)",
        span: 2,
      },
      {
@@ -502,6 +518,22 @@
              <p class="text-lg font-bold break-all">{{ currentCode }}</p>
              <p class="mt-1 text-xs text-gray-500">
                码类型:{{ traceTypeLabel }}
                <Tag
                  v-if="traceType === 'batch' && batchTrace && !batchTrace.code"
                  color="warning"
                  class="ml-2"
                >
                  待补录
                </Tag>
                <Tag
                  v-else-if="
                    traceType === 'pallet' && palletTrace && !palletTrace.code
                  "
                  color="warning"
                  class="ml-2"
                >
                  未绑定批次
                </Tag>
              </p>
            </div>
          </div>