From fe35e7e9faa159a58b59a9f8085934ae60535856 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期三, 23 四月 2025 14:30:54 +0800
Subject: [PATCH] feat: 单丝参数

---
 src/pages/production/twist/receive/monofil.vue |  123 ++++++++++++++++++++++++++++++-----------
 1 files changed, 90 insertions(+), 33 deletions(-)

diff --git a/src/pages/production/twist/receive/monofil.vue b/src/pages/production/twist/receive/monofil.vue
index 80d234f..9af78a5 100644
--- a/src/pages/production/twist/receive/monofil.vue
+++ b/src/pages/production/twist/receive/monofil.vue
@@ -1,59 +1,116 @@
 <template>
-  <view class="page">
-    <CardTitle title="鍗曚笣棰嗙敤" :hideAction="false">
-      <template #action>
-        <wd-button type="icon" icon="scan" color="#0D867F" @click="scanCode"></wd-button>
+  <view class="list_box">
+    <z-paging
+      ref="pagingRef"
+      v-model="cardList"
+      :fixed="false"
+      :auto-show-back-to-top="true"
+      @query="getList"
+    >
+      <template #top>
+        <CardTitle title="鍗曚笣棰嗙敤" :hideAction="false">
+          <template #action>
+            <wd-button type="icon" icon="scan" color="#0D867F" @click="openScan"></wd-button>
+          </template>
+        </CardTitle>
       </template>
-    </CardTitle>
-    <view class="list_box">
-      <MonofilCard v-for="(item, index) in 4" :key="index" />
-    </view>
-    <scan />
+      <MonofilCard v-for="(item, index) in cardList" :key="index" :data="item" />
+      <template #bottom>
+        <view class="flex justify-center items-center">
+          <wd-button block @click="save">
+            <text class="text-[#fff]">淇濆瓨</text>
+          </wd-button>
+        </view>
+      </template>
+    </z-paging>
+    <Scan ref="scanRef" />
+    <wd-toast />
   </view>
 </template>
 
 <script setup lang="ts">
 import CardTitle from "@/components/card-title/index.vue";
 import MonofilCard from "../components/MonofilCard.vue";
-import scan from "@/components/scan/index.vue";
-import { onLoad, onUnload } from "@dcloudio/uni-app";
+import { useToast } from "wot-design-uni";
+import { onLoad, onUnload, onShow, onHide } from "@dcloudio/uni-app";
+import Scan from "@/components/scan/index.vue";
+import ManageApi from "@/api/product/manage";
+import TwistApi from "@/api/product/twist";
+import zPaging from "@/components/z-paging/z-paging.vue";
+// import { useZebraScan } from "@/hooks/useZebraScan";
+// const { init, start, stop, triggerScan } = useZebraScan();
 
+const paramsId = ref();
+const pagingRef = ref();
+const scanRef = ref();
 const cardList = ref<any[]>([]);
+const toast = useToast();
 
-const BroadcastScanningToObtainData = (res: any) => {
-  console.log("鑾峰彇娆℃暟", res.code);
-  let barcode = res.code;
-  console.log("鎵撳嵃鏁版嵁", barcode);
-};
-
-const scanCode = () => {
-  uni.scanCode({
-    onlyFromCamera: true,
-    success: (res) => {
-      console.log("鏉$爜绫诲瀷锛�" + res.scanType);
-      console.log("鏉$爜鍐呭锛�" + res.result);
-      cardList.value.push(res.result);
-    },
+const getScanCode = async (code: any) => {
+  console.log("鑷畾涔夋壂鎻忕殑缁撴灉鍥炶皟鍑芥暟:", code);
+  // let parseData = code.trim();
+  let codeArr = code.code.split(",");
+  console.log("sb:", codeArr);
+  const { data } = await TwistApi.getScarn({
+    outPutId: codeArr[1],
   });
+  const exists = cardList.value.some((item) => item.id === data.id);
+  if (!exists) {
+    const { id, outPutId, ...rest } = data;
+
+    cardList.value.push({
+      outPutId: id,
+      ...rest,
+    });
+    pagingRef.value.complete(cardList.value);
+  } else {
+    toast.error("璇ュ崟涓濆凡棰嗙敤锛岃鍕块噸澶嶆壂鐮�");
+  }
 };
 
-onLoad(() => {
+const openScan = () => {
+  scanRef.value.triggerScan();
+};
+
+const getList = async () => {
+  const { code, data } = await ManageApi.getStrandedWireDish({
+    wireId: paramsId.value,
+    type: "鍗曚笣",
+  });
+  if (code == 200) {
+    pagingRef.value.complete(data);
+  }
+};
+
+const save = async () => {
+  const { code } = await TwistApi.addStrandedWireDish(cardList.value);
+  if (code == 200) {
+    toast.success("淇濆瓨鎴愬姛");
+    pagingRef.value.refresh();
+  } else {
+    toast.error("淇濆瓨澶辫触");
+  }
+};
+
+onLoad((options: any) => {
   // 寮�鍚箍鎾洃鍚簨浠�
-  uni.$on("scan", BroadcastScanningToObtainData);
+  uni.$on("scan", getScanCode);
+  paramsId.value = options.id;
 });
 onUnload(() => {
   // 寮�鍚箍鎾洃鍚簨浠�
-  uni.$off("scan", BroadcastScanningToObtainData);
+  uni.$off("scan", getScanCode);
 });
+
+onShow(() => {});
+
+onHide(() => {});
 </script>
 
 <style lang="scss" scoped>
-.page {
+.list_box {
+  height: calc(100vh - 100px);
   background: #f3f9f8;
-  .list_box {
-    height: calc(100% - 100px);
-    overflow: scroll;
-  }
 }
 :deep(.wd-button__content) {
   color: #0d867f;

--
Gitblit v1.9.3