spring
8 天以前 78c565e37520fad100693c4e298e30e7c916d1bb
src/pages/production/twist/receive/steelCore/form.vue
@@ -50,6 +50,17 @@
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
@@ -81,19 +92,18 @@
};
// 编辑提交(也走新增接口,提交整个列表)
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, // 先保留原有的所有数据
@@ -104,13 +114,10 @@
        supplier: model.supplier,
        type: model.type,
      };
      console.log("submitEdit - 更新后的项:", updatedItem);
      return updatedItem;
    }
    return item;
  });
  console.log("submitEdit - 提交的完整列表:", updatedList);
  // 提交整个列表
  const { code } = await TwistApi.addStrandedWireDish(updatedList);
@@ -146,6 +153,32 @@
  }
};
// 监听编辑数据变化,自动回显
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;
});
@@ -154,6 +187,7 @@
  submit,
  submitEdit,
  setFormData,
  resetFormData,
});
</script>