From 78c565e37520fad100693c4e298e30e7c916d1bb Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期二, 28 十月 2025 16:21:40 +0800
Subject: [PATCH] fix: 领用二维码异常提示,原材料自检重构

---
 src/pages/production/wire/report/wire.vue |  195 +++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 151 insertions(+), 44 deletions(-)

diff --git a/src/pages/production/wire/report/wire.vue b/src/pages/production/wire/report/wire.vue
index 95125ed..da32716 100644
--- a/src/pages/production/wire/report/wire.vue
+++ b/src/pages/production/wire/report/wire.vue
@@ -1,29 +1,47 @@
 <template>
-  <view class="page pt-2">
-    <CardTitle title="鎶ュ伐淇℃伅" :hideAction="true" @action="addReport" />
-    <view class="list">
-      <wd-card v-for="(item, index) in 6" type="rectangle" custom-class="round">
+  <view class="list">
+    <z-paging ref="pagingRef" v-model="wireReportList" :fixed="false" @query="getWireReportList">
+      <template #top>
+        <CardTitle title="鎶ュ伐淇℃伅" :hideAction="true" :full="false" @action="addReport" />
+      </template>
+      <wd-card
+        v-for="(item, index) in wireReportList"
+        :key="index"
+        type="rectangle"
+        custom-class="round"
+      >
         <template #title>
           <view class="flex justify-between">
             <view>
               <wd-icon name="user" color="#0D867F"></wd-icon>
               <text class="text-[#0D867F] ml-2 font-medium">鐢熶骇浜�</text>
-              <text class="text-[#333333] ml-2">鏂瑰厗鐜�</text>
+              <text class="text-[#333333] ml-2">{{ item.productUser }}</text>
             </view>
-            <view class="text-[#A8A8A8]" @click="toEdit">缂栬緫</view>
+            <!-- <view class="text-[#A8A8A8]" @click="toEdit">缂栬緫</view> -->
           </view>
         </template>
-        <ProductionCard :data="cardAttr" />
+        <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>
-      <wd-loadmore custom-class="loadmore" state="loading" />
-    </view>
-
+    </z-paging>
     <wd-popup v-model="dialog.visible" position="bottom" custom-class="yl-popup">
       <view class="action px-3">
         <wd-button type="text" @click="cancel">鍙栨秷</wd-button>
         <wd-button type="text" @click="submit">纭畾</wd-button>
       </view>
-      <WireForm />
+      <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>
@@ -32,82 +50,171 @@
 import CardTitle from "@/components/card-title/index.vue";
 import WireForm from "./wireForm.vue";
 import { useToast } from "wot-design-uni";
-import ProductionCard from "../components/ProductionCard.vue";
+import ProductionCard from "../../components/ProductionCard.vue";
+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();
+const paramsId = ref();
 const toast = useToast();
 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[]>([
   {
-    label: "鍚堝悓鍙�",
-    value: "ht2921246",
+    label: "棰嗙敤鏉嗗彿",
+    prop: "poleNumber",
+    span: 24,
   },
   {
-    label: "鐘舵��",
-    value: "-----",
+    label: "鍗曚笣鐩樺彿",
+    prop: "monofilamentNumber",
+    span: 24,
   },
   {
-    label: "瀹㈡埛鍚嶇О",
-    value: "澶忓織璞�",
+    label: "鏉嗗瀷鍙�",
+    prop: "poleModel",
   },
   {
-    label: "鏈哄彴",
-    value: "-----",
+    label: "鏉嗗寘鍙�",
+    prop: "polePackageNumber",
+  },
+  {
+    label: "鏉嗛噸(kg)",
+    prop: "poleWeight",
   },
   {
     label: "瑙勬牸鍨嬪彿",
-    value: "2921246",
+    prop: "model",
   },
   {
-    label: "宸茬敓浜ф暟閲�",
-    value: "0",
+    label: "鐩樺瀷鍙�",
+    prop: "dishModel",
   },
   {
     label: "鐩橀暱(m)",
-    value: "292",
+    prop: "oneLength",
   },
   {
-    label: "璁″垝鏁伴噺",
-    value: "100",
+    label: "瀹為檯闀垮害",
+    prop: "actuallyLength",
+  },
+  {
+    label: "瀹為檯閲嶉噺(kg)",
+    prop: "actuallyWeight",
   },
 ]);
 
-const toEdit = () => {
-  uni.navigateTo({
-    url: "/pages/production/report/wireEdit",
-  });
-};
+const wireReportList = ref<any[]>([]);
+
+// const toEdit = () => {
+//   uni.navigateTo({
+//     url: "/pages/production/wire/report/wireEdit",
+//   });
+// };
 
 const addReport = () => {
   dialog.visible = true;
 };
 
-const submit = () => {
-  toast.show("鎻愪氦");
-  dialog.visible = false;
+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();
 };
 
 const cancel = () => {
   toast.show("鍙栨秷");
   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}`,
+  });
+};
+
+// 鑾峰彇鎷変笣鎶ュ伐鍒楄〃
+const getWireReportList = async () => {
+  const { data } = await ManageApi.getReportList({
+    wireId: paramsId.value,
+    type: "鎷変笣",
+  });
+  pagingRef.value.complete(data);
+};
+
+onLoad((options: any) => {
+  paramsId.value = options.id;
+});
 </script>
 
 <style lang="scss" scoped>
-.page {
+.list {
+  height: calc(100vh - 30px);
+  padding: 12px;
   background: #f3f9f8;
 
-  .list {
-    height: calc(100vh - 120px);
-    margin: 12px;
-    overflow: scroll;
-
-    :deep() {
-      .round {
-        border-radius: 4px;
-      }
+  :deep() {
+    .round {
+      border-radius: 4px;
     }
   }
 }

--
Gitblit v1.9.3