spring
7 天以前 c39a0308db98f3678253f6318b125631e3eccfea
src/pages/routingInspection/detail/indexJX.vue
@@ -50,7 +50,7 @@
      </view>
      <wd-col :span="24">
        <wd-form-item label="日期" prop="recordDate">
          {{ formatDate(recordData.fixedInfo?.recordDate) }}
          {{ formattedRecordDate }}
        </wd-form-item>
        <wd-form-item label="班次" prop="workShift">
          {{ formatValue(recordData.fixedInfo?.workShift) }}
@@ -328,6 +328,8 @@
      </div>
    </wd-popup>
    <wd-toast />
    <!-- 扫码组件 -->
    <Scan ref="scanRef" emit-name="scanJX" />
  </view>
</template>
@@ -339,6 +341,7 @@
import AttachmentUpload from "../upload.vue";
import { useUserStore } from "@/store/modules/user";
import { useScanCode } from "@/composables/useScanCode";
import Scan from "@/components/scan/index.vue";
const paramsType = ref("");
const paramsId = ref("");
@@ -351,6 +354,7 @@
const attachmentRef = ref<any>(null);
const detailData = reactive<any>({});
const detailDataLoaded = ref(false);
const scanRef = ref(); // 扫码组件引用
// 获取当前登录用户信息
const userStore = useUserStore();
@@ -540,8 +544,10 @@
      inspectionResult: {
        twistedOuterDiameter: formData.twistedOuterDiameter,
        diameterType: formData.diameterType || "绞合外径(mm)",
        structureFormula: formData.structureFormula,
        structureItems: formData.structureItems,
        inspectStructure: {
          structureFormula: formData.structureFormula,
          structureItems: formData.structureItems,
        },
        inspectTwist: formData.inspectTwist,
        productAppearance: formData.productAppearance,
        conclusion: formData.conclusion,
@@ -635,6 +641,17 @@
  });
};
// 格式化日期计算属性(用于模板显示,避免编译处理)
const formattedRecordDate = computed(() => {
  const date = recordData.value.fixedInfo?.recordDate;
  if (!date) return "-";
  const d = new Date(date);
  const year = d.getFullYear();
  const month = String(d.getMonth() + 1).padStart(2, "0");
  const day = String(d.getDate()).padStart(2, "0");
  return `${year}-${month}-${day}`;
});
// 计算节径比
const calculatePitchRatio = (pitch: string, dia: string) => {
  // 如果pitch或dia为空,则返回"-"
@@ -689,12 +706,16 @@
};
const openScan = () => {
  console.log("indexJX - 点击扫码按钮(全局扫码模式,无需手动触发)");
  // 全局扫码模式下,硬件扫码会自动触发,无需手动调用
  uni.showToast({
    title: "请使用扫码枪扫描",
    icon: "none",
  });
  console.log("indexJX - 点击扫码按钮,触发扫码");
  // 触发扫码
  if (scanRef.value) {
    scanRef.value.triggerScan();
  } else {
    uni.showToast({
      title: "扫码组件未初始化",
      icon: "none",
    });
  }
};
// 页面显示时的处理
@@ -709,15 +730,15 @@
  if (!cachedData || !cachedData.uid) {
    console.log("⚠️ 未检测到扫码缓存,用户需要扫描设备二维码");
    // 在编辑模式下才提示
    if (isEdit.value) {
      setTimeout(() => {
        uni.showToast({
          title: "请扫描设备二维码后再保存",
          icon: "none",
          duration: 2000,
        });
      }, 500);
    }
    // if (isEdit.value) {
    //   setTimeout(() => {
    //     uni.showToast({
    //       title: "请扫描设备二维码后再保存",
    //       icon: "none",
    //       duration: 2000,
    //     });
    //   }, 500);
    // }
  }
});
</script>