From 29b3bee4646d888f202020054486d95fd85488ce Mon Sep 17 00:00:00 2001
From: zhouxiaofeng <2946471396@qq.com>
Date: Wed, 24 Jun 2026 10:28:25 +0800
Subject: [PATCH] =?UTF-8?q?=E7=9B=B8=E5=AF=B9=E6=96=B9=E5=A2=9E=E5=8A=A0?=
=?UTF-8?q?=E5=85=AC=E5=8F=B8=E7=BB=91=E5=AE=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/partner.js | 17 +++++++++
.../partner/components/PartnerModal.vue | 37 ++++++++++++++++++-
2 files changed, 53 insertions(+), 1 deletion(-)
diff --git a/src/api/partner.js b/src/api/partner.js
index b7613f8..5d90539 100644
--- a/src/api/partner.js
+++ b/src/api/partner.js
@@ -43,3 +43,20 @@ export function mockSyncPartner(id) {
method: "post",
});
}
+
+/** 获取货代公司组织列表(用于关联内部组织选择) */
+export function getAgentOrgList() {
+ return request({
+ url: "/admin/org/listAllOrgNameByTypeWithId",
+ method: "post",
+ data: { orgCode: "AGENT" },
+ }).then((res) => {
+ if (String(res?.code || "") === "0000") {
+ return (res?.result || []).map((item) => ({
+ label: item.name,
+ value: item.id,
+ }));
+ }
+ return [];
+ });
+}
diff --git a/src/views/contract/partner/components/PartnerModal.vue b/src/views/contract/partner/components/PartnerModal.vue
index 105e9e1..ce7cfcf 100644
--- a/src/views/contract/partner/components/PartnerModal.vue
+++ b/src/views/contract/partner/components/PartnerModal.vue
@@ -82,11 +82,25 @@
-
+ handleGroupFlagChange(e)">
是
否
+
+
+
import { computed, ref } from "vue";
import { message } from "ant-design-vue";
+import { getAgentOrgList } from "@/api/partner.js";
const props = defineProps({
optionSets: {
@@ -319,6 +334,8 @@ function createFormData() {
createTime: "",
syncTime: "",
syncMessage: "",
+ linkedOrgId: undefined,
+ linkedUserAccount: "",
};
}
@@ -347,6 +364,7 @@ const visible = ref(false);
const modalMode = ref("create");
const originalState = ref(createFormData());
const formState = ref(createFormData());
+const agentOrgOptions = ref([]);
const isViewMode = computed(() => modalMode.value === "view");
@@ -424,6 +442,13 @@ function handleOppositeCharacterChange() {
}
}
+function handleGroupFlagChange(e) {
+ const value = e?.target?.value ?? e;
+ if (value !== "Y") {
+ formState.value.linkedOrgId = undefined;
+ }
+}
+
function handleNatureOfEnterpriseOrgChange() {
if (formState.value.natureOfEnterpriseOrg !== "QY") {
formState.value.natureOfEnterpriseOrgLev = undefined;
@@ -497,6 +522,12 @@ function normalizeFormBeforeSave() {
formState.value.isSgat = formState.value.gatFlag === "Y" ? "1" : "0";
formState.value.isJtn = formState.value.groupFlag === "Y" ? "1" : "0";
+ // 如果非集团内,清空关联内部组织
+ if (formState.value.groupFlag !== "Y") {
+ formState.value.linkedOrgId = undefined;
+ formState.value.linkedUserAccount = "";
+ }
+
formState.value.contacts = (formState.value.contacts || []).map((item) => ({
...item,
contactName: item.contactName?.trim?.() || "",
@@ -528,6 +559,10 @@ function showModal(record = {}, mode = "create") {
modalMode.value === "create" ? createFormData() : copyFormData(record);
originalState.value = copyFormData(source);
formState.value = copyFormData(source);
+ // 加载货代公司组织列表
+ getAgentOrgList().then((options) => {
+ agentOrgOptions.value = options;
+ });
visible.value = true;
}