From 8460eac918d8c8e825a0f78ac0af1c03cad8fd49 Mon Sep 17 00:00:00 2001
From: YLouie <929705085@qq.com>
Date: 星期四, 23 十月 2025 16:53:21 +0800
Subject: [PATCH] 拉丝报工填原材料领用

---
 src/pages/production/wire/report/wire.vue |   70 ++++++++++++++++++++++++++++++++++-
 1 files changed, 68 insertions(+), 2 deletions(-)

diff --git a/src/pages/production/wire/report/wire.vue b/src/pages/production/wire/report/wire.vue
index 76db8fb..7552cd0 100644
--- a/src/pages/production/wire/report/wire.vue
+++ b/src/pages/production/wire/report/wire.vue
@@ -22,6 +22,9 @@
         </template>
         <ProductionCard :data="cardAttr" :value="item" />
         <template #footer>
+          <wd-button size="small" plain style="margin-right: 10px" @click="toAttachment(item)">
+            闄勪欢
+          </wd-button>
           <wd-button size="small" plain @click="toCheck(item.id)">鑷</wd-button>
         </template>
       </wd-card>
@@ -32,6 +35,13 @@
         <wd-button type="text" @click="submit">纭畾</wd-button>
       </view>
       <WireForm ref="wireFormRef" />
+    </wd-popup>
+    <wd-popup v-model="drawFormRef.visible" position="bottom" custom-class="yl-popup">
+      <Draw
+        :wire-id="drawData.wireId"
+        :pole-number="drawData.poleNumber"
+        @close="handleDrawClose"
+      />
     </wd-popup>
     <wd-toast />
   </view>
@@ -44,6 +54,7 @@
 import zPaging from "@/components/z-paging/z-paging.vue";
 import { onLoad } from "@dcloudio/uni-app";
 import ManageApi from "@/api/product/manage";
+import Draw from "./rawMaterial.vue";
 
 const pagingRef = ref();
 const wireFormRef = ref();
@@ -52,6 +63,45 @@
 const dialog = reactive({
   visible: false,
 });
+
+const drawFormRef = reactive({
+  visible: false,
+});
+// 澶勭悊draw缁勪欢鍏抽棴浜嬩欢
+const handleDrawClose = () => {
+  // 纭繚寮圭獥琚纭叧闂�
+  drawFormRef.visible = false;
+};
+const drawData = ref({
+  wireId: "",
+  poleNumber: "",
+});
+
+const showDrawPopup = async () => {
+  console.log("杩涘叆璇ユ柟娉曪紒");
+  try {
+    const { data } = await ManageApi.queryWireRawMaterialInspect({
+      wireId: paramsId.value,
+      poleNumber: drawData.value.poleNumber,
+    });
+    console.log("data", data);
+    // 閫傞厤涓嶅悓鐨勬暟鎹粨鏋勮繑鍥炴牸寮�
+    if (data == null) {
+      drawData.value = {
+        wireId: paramsId.value,
+        poleNumber: drawData.value.poleNumber,
+      };
+      // 鏄剧ずDraw寮圭獥
+      drawFormRef.visible = true;
+      toast.success("璇峰~鍐欓鐢ㄤ俊鎭�!");
+    } else {
+      toast.error("宸插瓨鍦ㄩ鐢ㄤ俊鎭�,鏃犻渶濉姤!");
+    }
+  } catch (error) {
+    console.error("鑾峰彇棰嗙敤淇℃伅澶辫触:", error);
+    toast.error("鑾峰彇淇℃伅澶辫触锛岃閲嶈瘯");
+  }
+};
 
 const cardAttr = ref<any[]>([
   {
@@ -110,8 +160,14 @@
   dialog.visible = true;
 };
 
-const submit = () => {
-  dialog.visible = !wireFormRef.value.submit();
+const submit = async () => {
+  const result = await wireFormRef.value.submit();
+  dialog.visible = !result.success;
+  // 璁剧疆poleNumber鍒癲rawData涓�
+  if (result.success) {
+    drawData.value.poleNumber = result.poleNumber;
+    showDrawPopup();
+  }
   pagingRef.value.reload();
 };
 
@@ -120,6 +176,16 @@
   dialog.visible = false;
 };
 
+const toAttachment = (item: any) => {
+  uni.navigateTo({
+    url: "/pages/production/wire/attachment/index",
+    success: () => {
+      // 椤甸潰璺宠浆鎴愬姛鍚庡彂閫佷簨浠朵紶閫掓暟鎹�
+      uni.$emit("detailData", item);
+    },
+  });
+};
+
 const toCheck = (id: number) => {
   uni.navigateTo({
     url: `/pages/production/wire/selfInspect/index?id=${id}`,

--
Gitblit v1.9.3