From fa7be38e7fef4016b942291e80b7dbe3f792bbe3 Mon Sep 17 00:00:00 2001 From: zhouxiaofeng <2946471396@qq.com> Date: Wed, 1 Jul 2026 13:00:33 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=B8=E5=AF=B9=E6=96=B9=E7=A1=AE=E8=AE=A4?= =?UTF-8?q?=E7=AD=BE=E7=BD=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../launch/components/mixedSignModal.vue | 42 +++++++++++-------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/src/views/contract/launch/components/mixedSignModal.vue b/src/views/contract/launch/components/mixedSignModal.vue index bc3c19b..a9227f1 100644 --- a/src/views/contract/launch/components/mixedSignModal.vue +++ b/src/views/contract/launch/components/mixedSignModal.vue @@ -521,30 +521,30 @@ -
+
相对方签署确认
- {{ name }} + {{ item.companyName }} {{ counterpartyConfirmMap[name]?.method === 'manual' ? '(代确认)' : '(已确认)' }} + >{{ item.method === 'manual' ? '(代确认)' : '(已确认)' }} 我已签署完成
@@ -1290,16 +1290,16 @@ const querySealTypes = ref([0, 20, 10, 30, 40, 50, 60]); const fetchingSeals = ref(false); const sealList = ref([]); const sealDefaultScale = ref(1.0); - -/** 解析相对方名单(分号分隔) */ -const counterpartyPartyNames = computed(() => { - const text = businessRecord.value?.counterpartySummary || ''; - return text.split(/[;;]/).map(s => s.trim()).filter(Boolean); -}); +const counterpartyConfirmItems = computed( + () => counterpartyConfirmMap.value?.items || [], +); /** 未确认的相对方名单 */ const unconfirmedPartyNames = computed(() => { - return counterpartyPartyNames.value.filter(name => !counterpartyConfirmMap.value[name]?.confirmed); + return counterpartyConfirmItems.value + .filter((item) => !item.confirmed) + .map((item) => item.companyName) + .filter(Boolean); }); async function loadCounterpartyConfirm() { @@ -1314,13 +1314,19 @@ async function loadCounterpartyConfirm() { counterpartyConfirmLoading.value = false; } -async function handleConfirmCounterparty(companyName) { +async function handleConfirmCounterparty(item = {}) { if (!businessRecord.value?.id) return; + if (!item.partyId) { + message.error("缺少相对方标识,无法确认"); + return; + } try { - const res = await confirmCounterparty(businessRecord.value.id, { companyName }); + const res = await confirmCounterparty(businessRecord.value.id, { + partyId: String(item.partyId), + }); if (isSuccessResponse(res) && res.result) { counterpartyConfirmMap.value = res.result || {}; - message.success(`已确认:${companyName}`); + message.success(`已确认:${item.companyName || "相对方"}`); } else { message.error(getResponseMessage(res, '确认失败')); }