相对方签署确认
✓
○
-
{{ 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, '确认失败'));
}