| | |
| | | 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> |
| | | |