|  |  | 
 |  |  | import TwistApi from "@/api/product/twist"; | 
 |  |  | import { useToast } from "wot-design-uni"; | 
 |  |  |  | 
 |  |  | const props = defineProps({ | 
 |  |  |   mode: { | 
 |  |  |     type: String, | 
 |  |  |     default: "add", | 
 |  |  |   }, | 
 |  |  |   editData: { | 
 |  |  |     type: Object, | 
 |  |  |     default: null, | 
 |  |  |   }, | 
 |  |  | }); | 
 |  |  |  | 
 |  |  | const emits = defineEmits(["refresh"]); | 
 |  |  | const paramsId = ref(); | 
 |  |  | const editId = ref(); // 编辑时的ID | 
 |  |  | 
 |  |  | }; | 
 |  |  |  | 
 |  |  | // 编辑提交(也走新增接口,提交整个列表) | 
 |  |  | const submitEdit = async () => { | 
 |  |  |   if (!editId.value) { | 
 |  |  | const submitEdit = async (list?: any[], id?: number) => { | 
 |  |  |   const currentList = list || allListData.value; | 
 |  |  |   const currentId = id || editId.value; | 
 |  |  |  | 
 |  |  |   if (!currentId) { | 
 |  |  |     toast.error("缺少记录ID"); | 
 |  |  |     return false; | 
 |  |  |   } | 
 |  |  |  | 
 |  |  |   console.log("submitEdit - 编辑前的列表:", allListData.value); | 
 |  |  |   console.log("submitEdit - 当前表单数据:", model); | 
 |  |  |   console.log("submitEdit - 编辑的ID:", editId.value); | 
 |  |  |  | 
 |  |  |   // 更新列表中对应的数据项 | 
 |  |  |   const updatedList = allListData.value.map((item) => { | 
 |  |  |     if (item.id === editId.value) { | 
 |  |  |   const updatedList = currentList.map((item) => { | 
 |  |  |     if (item.id === currentId) { | 
 |  |  |       // 保留原有数据,然后更新修改的字段 | 
 |  |  |       const updatedItem = { | 
 |  |  |         ...item, // 先保留原有的所有数据 | 
 |  |  | 
 |  |  |         supplier: model.supplier, | 
 |  |  |         type: model.type, | 
 |  |  |       }; | 
 |  |  |       console.log("submitEdit - 更新后的项:", updatedItem); | 
 |  |  |       return updatedItem; | 
 |  |  |     } | 
 |  |  |     return item; | 
 |  |  |   }); | 
 |  |  |  | 
 |  |  |   console.log("submitEdit - 提交的完整列表:", updatedList); | 
 |  |  |  | 
 |  |  |   // 提交整个列表 | 
 |  |  |   const { code } = await TwistApi.addStrandedWireDish(updatedList); | 
 |  |  | 
 |  |  |   } | 
 |  |  | }; | 
 |  |  |  | 
 |  |  | // 监听编辑数据变化,自动回显 | 
 |  |  | watch( | 
 |  |  |   () => props.editData, | 
 |  |  |   (newData) => { | 
 |  |  |     if (newData && props.mode === "edit") { | 
 |  |  |       model.model = newData.model || ""; | 
 |  |  |       model.monofilamentNumber = newData.monofilamentNumber || ""; | 
 |  |  |       model.amount = newData.amount || ""; | 
 |  |  |       model.weight = newData.weight || ""; | 
 |  |  |       model.supplier = newData.supplier || ""; | 
 |  |  |       model.type = newData.type || "钢芯"; | 
 |  |  |     } | 
 |  |  |   }, | 
 |  |  |   { immediate: true, deep: true } | 
 |  |  | ); | 
 |  |  |  | 
 |  |  | // 重置表单数据 | 
 |  |  | const resetFormData = () => { | 
 |  |  |   model.model = undefined; | 
 |  |  |   model.monofilamentNumber = undefined; | 
 |  |  |   model.amount = undefined; | 
 |  |  |   model.weight = undefined; | 
 |  |  |   model.supplier = undefined; | 
 |  |  |   model.type = "钢芯"; | 
 |  |  | }; | 
 |  |  |  | 
 |  |  | onLoad((options: any) => { | 
 |  |  |   paramsId.value = options.id; | 
 |  |  | }); | 
 |  |  | 
 |  |  |   submit, | 
 |  |  |   submitEdit, | 
 |  |  |   setFormData, | 
 |  |  |   resetFormData, | 
 |  |  | }); | 
 |  |  | </script> | 
 |  |  |  |