| | |
| | | <wd-icon name="folder" color="#0D867F"></wd-icon> |
| | | </view> |
| | | <text class="text-[#646874] mx-2"> |
| | | 待货数量: |
| | | 待发货数量: |
| | | <text class="text-[#252525]">{{ item.shippedQuantity || 0 }}</text> |
| | | </text> |
| | | </view> |
| | |
| | | |
| | | // 物料信息列表 |
| | | 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) => { |
| | |
| | | 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 || "获取物料详情失败"); |