From bad46c697e3116e80d6427ee89a93553d2eded58 Mon Sep 17 00:00:00 2001
From: chenhj <1263187585@qq.com>
Date: 星期二, 29 七月 2025 11:15:37 +0800
Subject: [PATCH] 修改扫码问题

---
 src/pages/production/twist/receive/monofil.vue |   62 +++++++++++++++++++++++-------
 1 files changed, 47 insertions(+), 15 deletions(-)

diff --git a/src/pages/production/twist/receive/monofil.vue b/src/pages/production/twist/receive/monofil.vue
index d6b769c..8d4f6dd 100644
--- a/src/pages/production/twist/receive/monofil.vue
+++ b/src/pages/production/twist/receive/monofil.vue
@@ -5,6 +5,7 @@
       v-model="cardList"
       :fixed="false"
       :auto-show-back-to-top="true"
+      :loading-more-enabled="false"
       @query="getList"
     >
       <template #top>
@@ -17,20 +18,22 @@
       <MonofilCard v-for="(item, index) in cardList" :key="index" :data="item" />
       <template #bottom>
         <view class="flex justify-center items-center">
-          <wd-button block>
-            <text class="text-[#fff]" @click="save">淇濆瓨</text>
+          <wd-button block @click="save">
+            <text class="text-[#fff]">淇濆瓨</text>
           </wd-button>
         </view>
       </template>
     </z-paging>
+    <Scan ref="scanRef" emitName="scanMono" />
+    <wd-toast />
   </view>
-  <Scan ref="scanRef" />
 </template>
 
 <script setup lang="ts">
 import CardTitle from "@/components/card-title/index.vue";
 import MonofilCard from "../components/MonofilCard.vue";
-import { onLoad, onUnload, onShow, onHide } from "@dcloudio/uni-app";
+import { useToast } from "wot-design-uni";
+import { onLoad, onUnload } from "@dcloudio/uni-app";
 import Scan from "@/components/scan/index.vue";
 import ManageApi from "@/api/product/manage";
 import TwistApi from "@/api/product/twist";
@@ -42,16 +45,37 @@
 const pagingRef = ref();
 const scanRef = ref();
 const cardList = ref<any[]>([]);
+const toast = useToast();
 
 const getScanCode = async (code: any) => {
   console.log("鑷畾涔夋壂鎻忕殑缁撴灉鍥炶皟鍑芥暟:", code);
   // let parseData = code.trim();
-  let codeArr = code.code.split(",");
-  console.log("sb:", codeArr);
+  console.log("code:===========", JSON.parse(code.code));
+  console.log("id:=============", JSON.parse(code.code).id);
   const { data } = await TwistApi.getScarn({
-    outPutId: codeArr[1],
+    outPutId: JSON.parse(code.code).id,
   });
-  pagingRef.value.complete([data]);
+  const exists = cardList.value.some((item) => item.monofilamentNumber === data.monofilamentNumber);
+  if (!exists) {
+    const { id, outPutId, wireId, oneLength, ...rest } = data;
+    console.log("sb", {
+      wireId: paramsId.value,
+      outputId: id,
+      amount: oneLength,
+      ongLength: oneLength,
+      ...rest,
+    });
+    cardList.value.push({
+      wireId: paramsId.value,
+      outputId: id,
+      amount: oneLength,
+      ongLength: oneLength,
+      ...rest,
+    });
+    pagingRef.value.complete(cardList.value);
+  } else {
+    toast.error("璇ュ崟涓濆凡棰嗙敤锛岃鍕块噸澶嶆壂鐮�");
+  }
 };
 
 const openScan = () => {
@@ -68,21 +92,29 @@
   }
 };
 
-const save = () => {};
+const save = async () => {
+  const value = cardList.value.filter((item: { id?: number }) => item.id === undefined || item.id === null);
+
+  const { code } = await TwistApi.addStrandedWireDish(value);
+  if (code == 200) {
+    toast.success("淇濆瓨鎴愬姛");
+    cardList.value = [];
+    pagingRef.value.refresh();
+    getList();
+  } else {
+    toast.error("淇濆瓨澶辫触");
+  }
+};
 
 onLoad((options: any) => {
   // 寮�鍚箍鎾洃鍚簨浠�
-  uni.$on("scan", getScanCode);
+  uni.$on("scanMono", getScanCode);
   paramsId.value = options.id;
 });
 onUnload(() => {
   // 寮�鍚箍鎾洃鍚簨浠�
-  uni.$off("scan", getScanCode);
+  uni.$off("scanMono", getScanCode);
 });
-
-onShow(() => {});
-
-onHide(() => {});
 </script>
 
 <style lang="scss" scoped>

--
Gitblit v1.9.3