diff --git a/apps/src/views/operate/manual-salary-payment.vue b/apps/src/views/operate/manual-salary-payment.vue index 59ab046..b1853e4 100644 --- a/apps/src/views/operate/manual-salary-payment.vue +++ b/apps/src/views/operate/manual-salary-payment.vue @@ -242,7 +242,15 @@ function countryLabel(code?: string) { } function getRowKey(record: Record) { - return String(record.userId || record.id || ''); + return String(record.id || record.userProfile?.account || record.userId || ''); +} + +function getPayUserIdentifier(record: Record) { + const account = record.userProfile?.account; + if (account && query.sysOrigin) { + return `*type:USER,sysOrigin:${query.sysOrigin},accountType:SHORT,content:${account}*`; + } + return String(record.userId || ''); } function getSalarySortValue( @@ -319,7 +327,11 @@ function confirmPay() { return; } - const userIds = [...selectedUserIds.value]; + const selectedKeys = new Set(selectedUserIds.value); + const userIds = tableRows.value + .filter((record) => selectedKeys.has(record.rowKey)) + .map(getPayUserIdentifier) + .filter(Boolean); const hasSelectedUsers = userIds.length > 0; Modal.confirm({ @@ -346,7 +358,7 @@ function settleUser(record: Record) { message.warning('请选择国家'); return; } - const userId = String(record.userId || ''); + const userId = getPayUserIdentifier(record); if (!userId) { message.warning('用户ID为空'); return;