spring
3 小时以前 8d4473d1b502ca5183981e04d3b2686b4f045ec6
fix: 在PDA上文字不转码
已修改3个文件
47 ■■■■ 文件已修改
src/manifest.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/outbound/material.vue 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/outbound/materialOutbound.vue 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/manifest.json
@@ -2,7 +2,7 @@
    "name" : "线缆上报",
    "appid" : "__UNI__F64E0A4",
    "description" : "",
    "versionName" : "1.0.27",
    "versionName" : "1.0.28",
    "versionCode" : "100",
    "transformPx" : false,
    /* 5+App特有相关 */
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 || "获取物料详情失败");
src/pages/outbound/materialOutbound.vue
@@ -364,15 +364,26 @@
  uni.$on("scanMaterial", getScanCode);
};
// 安全解码(兼容已解码或未编码的情况)
const safeDecode = (val: any) => {
  if (typeof val !== "string") return val || "";
  try {
    // 如果是编码过的(包含 %),decode 一次;否则直接返回
    return val.includes("%") ? decodeURIComponent(val) : val;
  } catch (e) {
    return val;
  }
};
onLoad((options: any) => {
  // 从路由参数中获取物料基本信息、出库单信息和 vsrccode
  currentMaterial.value = {
    materialname: options.materialname || "-",
    materialspec: options.materialspec || "-",
    materialname: safeDecode(options.materialname || "-"),
    materialspec: safeDecode(options.materialspec || "-"),
    shippedQuantity: Number(options.shippedQuantity || 0),
    cdeliveryid: options.cdeliveryid || "",
    cdeliverybid: options.cdeliverybid || "",
    materialcode: options.materialcode || "",
    cdeliveryid: safeDecode(options.cdeliveryid || ""),
    cdeliverybid: safeDecode(options.cdeliverybid || ""),
    materialcode: safeDecode(options.materialcode || ""),
  };
  vsrccode.value = options.vsrccode || "";
});