|  |  | 
 |  |  |         <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"> | 
 |  |  | 
 |  |  | 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[]>([ | 
 |  |  |   { | 
 |  |  | 
 |  |  | ]); | 
 |  |  |  | 
 |  |  | 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 () => { | 
 |  |  | 
 |  |  |  | 
 |  |  | onLoad((options: any) => { | 
 |  |  |   paramsId.value = options.id; | 
 |  |  | }); | 
 |  |  |  | 
 |  |  | onShow(() => { | 
 |  |  |   // 从编辑页返回时刷新列表 | 
 |  |  |   if (needRefresh.value) { | 
 |  |  |     reloadList(); | 
 |  |  |     needRefresh.value = false; | 
 |  |  |   } | 
 |  |  | }); | 
 |  |  | </script> | 
 |  |  |  |