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/twist/receive/steelCore/index.vue |  111 +++++++++++++++++++++++++++++++------------------------
 1 files changed, 63 insertions(+), 48 deletions(-)
diff --git a/src/pages/production/twist/receive/steelCore/index.vue b/src/pages/production/twist/receive/steelCore/index.vue
index a0f40cd..85da5f2 100644
--- a/src/pages/production/twist/receive/steelCore/index.vue
+++ b/src/pages/production/twist/receive/steelCore/index.vue
@@ -23,15 +23,27 @@
         <ProductionCard :data="cardAttr" :value="item" color="#0D867F" />
       </wd-card>
     </z-paging>
+    <wd-popup v-model="addDialog.visible" position="bottom" custom-class="yl-popup">
+      <view class="action px-3">
+        <wd-button type="text" @click="cancelAdd">鍙栨秷</wd-button>
+        <wd-button type="text" @click="submitAdd">纭畾</wd-button>
+      </view>
+      <SteelCore ref="addFormRef" mode="add" @refresh="reloadList" />
+    </wd-popup>
+    <wd-popup v-model="editDialog.visible" position="bottom" custom-class="yl-popup">
+      <view class="action px-3">
+        <wd-button type="text" @click="cancelEdit">鍙栨秷</wd-button>
+        <wd-button type="text" @click="submitEdit">纭畾</wd-button>
+      </view>
+      <SteelCore
+        ref="editFormRef"
+        mode="edit"
+        :editData="editDialog.currentItem"
+        @refresh="reloadList"
+      />
+    </wd-popup>
+    <wd-toast />
   </view>
-  <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>
-    <SteelCore ref="steelCoreRef" @refresh="reloadList" />
-  </wd-popup>
-  <wd-toast />
 </template>
 
 <script setup lang="ts">
@@ -39,19 +51,24 @@
 import ProductionCard from "../../../components/ProductionCard.vue";
 import { useToast } from "wot-design-uni";
 import SteelCore from "./form.vue";
-import { onLoad, onShow } from "@dcloudio/uni-app";
+import { onLoad } from "@dcloudio/uni-app";
 import ManageApi from "@/api/product/manage";
 import zPaging from "@/components/z-paging/z-paging.vue";
 
 const paramsId = ref();
 const pagingRef = ref();
-const steelCoreRef = ref();
+const addFormRef = ref();
+const editFormRef = ref();
 const toast = useToast();
-const dialog = reactive({
+const addDialog = reactive({
   visible: false,
 });
+const editDialog = reactive({
+  visible: false,
+  currentItem: null as any,
+  editId: undefined as number | undefined,
+});
 const cardList = ref<any[]>([]);
-const needRefresh = ref(false); // 鏍囪鏄惁闇�瑕佸埛鏂�
 
 const cardAttr = ref<any[]>([
   {
@@ -76,38 +93,44 @@
 ]);
 
 const toEdit = (id: number) => {
-  needRefresh.value = true; // 鏍囪闇�瑕佸埛鏂�
-
-  // 纭繚 cardList 鏄暟缁�
-  const listData = Array.isArray(cardList.value) ? cardList.value : [];
-  console.log("toEdit - 浼犻�掔殑鍒楄〃鏁版嵁:", listData, "缂栬緫ID:", id);
-
-  uni.navigateTo({
-    url: `/pages/production/twist/receive/steelCore/edit?id=${id}`,
-    success: () => {
-      // 椤甸潰璺宠浆鎴愬姛鍚庡彂閫佷簨浠朵紶閫掑畬鏁村垪琛ㄦ暟鎹拰褰撳墠缂栬緫ID
-      uni.$emit("steelCoreEditData", {
-        list: listData,
-        editId: id,
-      });
-    },
-  });
-};
-
-const addReport = () => {
-  dialog.visible = true;
-};
-
-const submit = async () => {
-  const success = await steelCoreRef.value.submit();
-  if (success) {
-    dialog.visible = false;
+  const itemToEdit = cardList.value.find((item) => item.id === id);
+  if (itemToEdit) {
+    editDialog.currentItem = itemToEdit;
+    editDialog.editId = id;
+    editDialog.visible = true;
   }
 };
 
-const cancel = () => {
+const addReport = () => {
+  if (addFormRef.value) {
+    addFormRef.value.resetFormData();
+  }
+  addDialog.visible = true;
+};
+
+const submitAdd = async () => {
+  const success = await addFormRef.value.submit();
+  if (success) {
+    addDialog.visible = false;
+  }
+};
+
+const cancelAdd = () => {
   toast.show("鍙栨秷");
-  dialog.visible = false;
+  addDialog.visible = false;
+};
+
+const submitEdit = async () => {
+  const success = await editFormRef.value.submitEdit(cardList.value, editDialog.editId);
+  if (success) {
+    editDialog.visible = false;
+    reloadList();
+  }
+};
+
+const cancelEdit = () => {
+  toast.show("鍙栨秷");
+  editDialog.visible = false;
 };
 
 const getList = async () => {
@@ -126,14 +149,6 @@
 
 onLoad((options: any) => {
   paramsId.value = options.id;
-});
-
-onShow(() => {
-  // 浠庣紪杈戦〉杩斿洖鏃跺埛鏂板垪琛�
-  if (needRefresh.value) {
-    reloadList();
-    needRefresh.value = false;
-  }
 });
 </script>
 
--
Gitblit v1.9.3