From 8d4473d1b502ca5183981e04d3b2686b4f045ec6 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期一, 12 一月 2026 09:27:35 +0800
Subject: [PATCH] fix: 在PDA上文字不转码

---
 src/pages/outbound/materialOutbound.vue |   21 ++++++++++++++++-----
 src/manifest.json                       |    2 +-
 src/pages/outbound/material.vue         |   24 +++++++++++++++++-------
 3 files changed, 34 insertions(+), 13 deletions(-)

diff --git a/src/manifest.json b/src/manifest.json
index 6b86464..f80afe1 100644
--- a/src/manifest.json
+++ b/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鐗规湁鐩稿叧 */
diff --git a/src/pages/outbound/material.vue b/src/pages/outbound/material.vue
index 637f7f2..4487533 100644
--- a/src/pages/outbound/material.vue
+++ b/src/pages/outbound/material.vue
@@ -71,6 +71,16 @@
 // 鐗╂枡淇℃伅鍒楄〃
 const materialList = ref<any[]>([]);
 
+// 瀹夊叏瑙g爜锛堝吋瀹瑰悗绔凡缂栫爜鎴栨湭缂栫爜鐨勬儏鍐碉級
+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) {
-      // 灏嗘帴鍙h繑鍥炵殑鏁版嵁鏄犲皠鍒� materialList
+      // 灏嗘帴鍙h繑鍥炵殑鏁版嵁鏄犲皠鍒� 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 || "鑾峰彇鐗╂枡璇︽儏澶辫触");
diff --git a/src/pages/outbound/materialOutbound.vue b/src/pages/outbound/materialOutbound.vue
index 0c7bbcf..5404ec1 100644
--- a/src/pages/outbound/materialOutbound.vue
+++ b/src/pages/outbound/materialOutbound.vue
@@ -364,15 +364,26 @@
   uni.$on("scanMaterial", getScanCode);
 };
 
+// 瀹夊叏瑙g爜锛堝吋瀹瑰凡瑙g爜鎴栨湭缂栫爜鐨勬儏鍐碉級
+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 || "";
 });

--
Gitblit v1.9.3