spring
4 小时以前 8d4473d1b502ca5183981e04d3b2686b4f045ec6
src/pages/outbound/material.vue
@@ -71,6 +71,16 @@
// 物料信息列表
const materialList = ref<any[]>([]);
// 安全解码(兼容后端已编码或未编码的情况)
const safeDecode = (val: any) => {
  if (typeof val !== "string") return val || "";
  try {
    return val.includes("%") ? decodeURIComponent(val) : val;
  } catch (e) {
    return val;
  }
};
// 点击某个物料,跳转到单独的出库页面
const toMaterialOutbound = (item: any) => {
  const query = [
@@ -108,15 +118,15 @@
    uni.hideLoading();
    if (code === 200 && data) {
      // 将接口返回的数据映射到 materialList
      // 将接口返回的数据映射到 materialList,并对可能被 URL 编码的字段做一次安全解码
      materialList.value = data.map((item: any) => ({
        materialcode: item.materialcode,
        materialname: item.materialname || "-",
        materialspec: item.materialspec || "-",
        materialcode: safeDecode(item.materialcode),
        materialname: safeDecode(item.materialname || "-"),
        materialspec: safeDecode(item.materialspec || "-"),
        shippedQuantity: item.nnum || 0,
        cdeliveryid: item.cdeliveryid,
        cdeliverybid: item.cdeliverybid,
        vsrccode: item.vsrccode,
        cdeliveryid: safeDecode(item.cdeliveryid),
        cdeliverybid: safeDecode(item.cdeliverybid),
        vsrccode: safeDecode(item.vsrccode),
      }));
    } else {
      toast.error(msg || "获取物料详情失败");