From 1187936c713bae2ad43063900c7bee80502e091d Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期三, 19 十一月 2025 17:06:42 +0800
Subject: [PATCH] fix: 重构拉丝报工

---
 src/pages/production/detail/wireDetail.vue |   66 +++++++++++++++++++++++++++++----
 1 files changed, 58 insertions(+), 8 deletions(-)

diff --git a/src/pages/production/detail/wireDetail.vue b/src/pages/production/detail/wireDetail.vue
index 29f6caf..4e77cd2 100644
--- a/src/pages/production/detail/wireDetail.vue
+++ b/src/pages/production/detail/wireDetail.vue
@@ -9,16 +9,13 @@
         totalAmount: 'totalAmount',
         amount: 'amount',
         unAmount: 'unAmount',
+        poleModel: 'poleModel',
+        contractNo: 'contractNo',
       }"
     />
     <view class="mx-3">
       <wd-grid class="rounded-lg" clickable>
-        <wd-grid-item
-          icon="computer"
-          link-type="navigateTo"
-          :url="`/pages/production/wire/report/wire?id=${paramsId}&model=${cardData.model}&oneLength=${cardData.oneLength}`"
-          text="鎶ュ伐"
-        />
+        <wd-grid-item icon="computer" @click="handleReportClick" text="鎶ュ伐" />
         <!-- <wd-grid-item
           icon="chart"
           text="鑷"
@@ -46,6 +43,8 @@
 import { onLoad } from "@dcloudio/uni-app";
 import ProductCard from "@/components/product_card/index.vue";
 import WireApi from "@/api/product/wire";
+import { getPrepareId, setPrepareId, clearPrepareId } from "@/utils/cache";
+import HomeApi from "@/api/home";
 
 const paramsId = ref();
 const cardData = reactive({
@@ -56,6 +55,9 @@
   amount: undefined,
   unAmount: undefined,
   oneLength: undefined,
+  poleModel: undefined,
+  contractNo: undefined,
+  type: "鎷変笣",
 });
 
 const getDetailData = async (id: string) => {
@@ -69,11 +71,59 @@
   cardData.amount = data.amount;
   cardData.unAmount = data.unAmount;
   cardData.oneLength = data.oneLength;
+  cardData.poleModel = data.poleModel;
+  cardData.contractNo = data.contractNo;
+  cardData.type = data.type || "鎷変笣";
 };
 
-onLoad((options: any) => {
+// 鑾峰彇骞剁紦瀛樼敓浜у噯澶嘔D
+const initPrepareId = async () => {
+  try {
+    const { data } = await HomeApi.getIndex();
+    if (data && data.prepareId) {
+      setPrepareId(data.prepareId);
+    } else {
+      // 濡傛灉娌℃湁 prepareId锛屾竻绌虹紦瀛�
+      clearPrepareId();
+    }
+  } catch (error) {
+    console.error("鑾峰彇鐢熶骇鍑嗗ID澶辫触:", error);
+    // 鑾峰彇澶辫触鏃朵篃娓呯┖缂撳瓨
+    clearPrepareId();
+  }
+};
+
+// 澶勭悊鎶ュ伐鐐瑰嚮
+const handleReportClick = () => {
+  const prepareId = getPrepareId();
+  console.log("鎷変笣琛ㄦ牸鎶ュ伐妫�鏌� - prepareId鍊�:", prepareId);
+
+  // 濡傛灉prepareId涓虹┖鎴栨湭瀹氫箟锛岃鏄庣敓浜у噯澶囨湭瀹屾垚
+  if (!prepareId) {
+    console.log("鎷変笣琛ㄦ牸鎶ュ伐闃绘 - 鐢熶骇鍑嗗鏈畬鎴�");
+    uni.showModal({
+      title: "鎻愮ず",
+      content: "璇峰湪鐢佃剳绔畬鎴愮敓浜у噯澶囩‘璁わ紝鍐嶈繘琛屾姤宸ユ搷浣�",
+      showCancel: false,
+      confirmText: "纭畾",
+      success: () => {
+        // 鐢ㄦ埛鐐瑰嚮纭畾鍚庯紝涓嶅仛浠讳綍鎿嶄綔
+      },
+    });
+    return;
+  }
+
+  // 濡傛灉鏈� prepareId锛屾甯歌烦杞�
+  uni.navigateTo({
+    url: `/pages/production/wire/report/wire?id=${paramsId.value}&model=${cardData.model}&oneLength=${cardData.oneLength}`,
+  });
+};
+
+onLoad(async (options: any) => {
   paramsId.value = options.id;
-  getDetailData(options.id);
+  await getDetailData(options.id);
+  // 鑾峰彇骞剁紦瀛樼敓浜у噯澶嘔D
+  await initPrepareId();
 });
 </script>
 

--
Gitblit v1.9.3