gongchunyi
昨天 2d3bb4a43dc6c0e5e2df4a61f6c0122bcf98f8b2
src/views/basicData/customerFile/index.vue
@@ -115,7 +115,7 @@
                       filterable
                       placeholder="不选则为顶级地区" />
        </el-form-item>
        <el-form-item label="地区名称">
        <el-form-item label="地区名称" required>
          <el-input v-model="addRegionForm.regionsName"
                    placeholder="请输入"
                    clearable />
@@ -735,22 +735,13 @@
    },
    rules: {
      customerName: [{ required: true, message: "请输入", trigger: "blur" }],
      taxpayerIdentificationNumber: [
        { required: true, message: "请输入", trigger: "blur" },
      ],
      companyAddress: [{ required: true, message: "请输入", trigger: "blur" }],
      regions: [{ required: true, message: "请选择客户地区", trigger: "change" }],
      companyPhone: [{ required: true, message: "请输入", trigger: "blur" }],
      // contactPerson: [{ required: true, message: "请输入", trigger: "blur" }],
      // contactPhone: [{ required: true, message: "请输入", trigger: "blur" }],
      maintainer: [{ required: false, message: "请选择", trigger: "change" }],
      maintenanceTime: [
        { required: false, message: "请选择", trigger: "change" },
      ],
      basicBankAccount: [{ required: true, message: "请输入", trigger: "blur" }],
      bankAccount: [{ required: true, message: "请输入", trigger: "blur" }],
      bankCode: [{ required: true, message: "请输入", trigger: "blur" }],
      customerType: [{ required: true, message: "请选择", trigger: "change" }],
    },
  });
  const upload = reactive({
@@ -980,6 +971,18 @@
    }
    return [];
  };
  const findRegionPathById = (tree, targetId, parentPath = []) => {
    if (targetId === undefined || targetId === null || targetId === "") return [];
    for (const item of tree || []) {
      const currentPath = [...parentPath, item.id];
      if (String(item.id) === String(targetId)) {
        return currentPath;
      }
      const childResult = findRegionPathById(item.children || [], targetId, currentPath);
      if (childResult.length) return childResult;
    }
    return [];
  };
  const addNewContact = () => {
    formYYs.value.contactList.push({
      contactPerson: "",
@@ -1050,14 +1053,21 @@
    if (type === "edit") {
      getCustomer(row.id).then(res => {
        form.value = { ...res.data };
        formRegionPath.value = findRegionPathByName(
          regionTreeData.value,
          form.value.regions || ""
        );
        const regionIdForEdit = form.value.regionsId || form.value.regionsld;
        formRegionPath.value = findRegionPathById(regionTreeData.value, regionIdForEdit);
        if (!formRegionPath.value.length) {
          formRegionPath.value = findRegionPathByName(
            regionTreeData.value,
            form.value.regionsName || form.value.regions || ""
          );
        }
        const selectedRegionId =
          formRegionPath.value.length > 0
            ? formRegionPath.value[formRegionPath.value.length - 1]
            : "";
        if (selectedRegionId && !form.value.regions) {
          form.value.regions = regionNodeMap.value.get(selectedRegionId)?.regionsName || "";
        }
        form.value.regionsId = form.value.regionsId || selectedRegionId;
        form.value.regionsld = form.value.regionsld || form.value.regionsId || selectedRegionId;
        formYYs.value.contactList = res.data.contactPerson