From bde916ea8809ec9df462f1f263f9d13864a8a9dc Mon Sep 17 00:00:00 2001
From: 曹睿 <360930172@qq.com>
Date: 星期三, 23 四月 2025 11:11:52 +0800
Subject: [PATCH] feat: 保存后触发查询

---
 src/pages/production/twist/receive/monofil.vue |  106 +++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 71 insertions(+), 35 deletions(-)

diff --git a/src/pages/production/twist/receive/monofil.vue b/src/pages/production/twist/receive/monofil.vue
index 884b6f6..e7f7be4 100644
--- a/src/pages/production/twist/receive/monofil.vue
+++ b/src/pages/production/twist/receive/monofil.vue
@@ -1,75 +1,111 @@
 <template>
-  <view class="page">
-    <CardTitle title="鍗曚笣棰嗙敤" :hideAction="false">
-      <template #action>
-        <wd-button type="icon" icon="scan" color="#0D867F" @click="openScan"></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 cardList" :key="index" />
-    </view>
+      <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>
+        </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 { 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 getScanCode = (code: any) => {
-  // let parseData = code.trim();
+const getScanCode = async (code: any) => {
   console.log("鑷畾涔夋壂鎻忕殑缁撴灉鍥炶皟鍑芥暟:", code);
-  cardList.value.push({});
+  // 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) {
+    cardList.value.push(data);
+    pagingRef.value.complete(cardList.value);
+  } else {
+    toast.error("璇ュ崟涓濆凡棰嗙敤锛岃鍕块噸澶嶆壂鐮�");
+  }
 };
 
 const openScan = () => {
-  // uni.scanCode({
-  //   onlyFromCamera: true,
-  //   success: (res) => {
-  //     console.log("鏉$爜绫诲瀷锛�" + res.scanType);
-  //     console.log("鏉$爜鍐呭锛�" + res.result);
-  //     cardList.value.push(res.result);
-  //   },
-  // });
-  // triggerScan();
   scanRef.value.triggerScan();
 };
 
-onLoad(() => {
+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", getScanCode);
-  // init(getScanCode);
+  paramsId.value = options.id;
 });
 onUnload(() => {
   // 寮�鍚箍鎾洃鍚簨浠�
   uni.$off("scan", getScanCode);
-  // stop();
 });
 
-onShow(() => {
-  // start();
-});
+onShow(() => {});
 
-onHide(() => {
-  // stop();
-});
+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