批量同步相对方

This commit is contained in:
2026-06-29 10:36:23 +08:00
parent cb9cab24b3
commit a097fd653d
3 changed files with 52 additions and 8 deletions
+8
View File
@@ -44,6 +44,14 @@ export function mockSyncPartner(id) {
});
}
export function batchSyncPartner(ids) {
return request({
url: "/partner/manage/batch-sync",
method: "post",
data: ids,
});
}
/** 获取货代公司组织列表(用于关联内部组织选择) */
export function getAgentOrgList() {
return request({
@@ -1743,13 +1743,6 @@ function resetCurrentState() {
syncUploadLists();
}
function showSearchTip(title) {
loadCounterpartyOptions();
message.info(
`${title}数据已刷新;我方主体来自组织树,相对方下拉仅展示已同步到法务的记录。`,
);
}
function filterPartnerOption(input, option) {
const keyword = String(input || "")
.trim()
+44 -1
View File
@@ -96,6 +96,16 @@
>
批量删除
</a-button>
<a-button
type="primary"
ghost
:icon="h(SyncOutlined)"
:disabled="!selectedRowKeys.length"
:loading="batchSyncLoading"
@click="handleBatchSync"
>
批量同步
</a-button>
</a-space>
</template>
</vxe-toolbar>
@@ -238,10 +248,11 @@ import {
PlusOutlined,
RedoOutlined,
SearchOutlined,
SyncOutlined,
} from "@ant-design/icons-vue";
import { message, Modal } from "ant-design-vue";
import PartnerModal from "./components/PartnerModal.vue";
import {queryPartnerList,getPartnerInfo,createPartner,updatePartner,deletePartnerByIds,mockSyncPartner} from '@/api/partner.js'
import {queryPartnerList,getPartnerInfo,createPartner,updatePartner,deletePartnerByIds,mockSyncPartner,batchSyncPartner} from '@/api/partner.js'
import gj from './gj.json'
function isSuccessResponse(res) {
return String(res?.code || "") === "0000";
@@ -330,6 +341,7 @@ const tableData = ref([]);
const selectedRows = ref([]);
const selectedRowKeys = ref([]);
const currentModalMode = ref("create");
const batchSyncLoading = ref(false);
const queryParam = ref({
pageNo: 1,
@@ -444,6 +456,37 @@ function handleMockSync(row) {
});
}
function handleBatchSync() {
if (!selectedRowKeys.value.length) {
message.warning("请先勾选要同步的相对方");
return;
}
Modal.confirm({
title: `确认批量同步选中的 ${selectedRowKeys.value.length} 条相对方吗?`,
content: "将批量推送到法务系统进行相对方信息采集法务接口不可用期间为模拟同步",
okText: "确认同步",
cancelText: "取消",
onOk: () => {
batchSyncLoading.value = true;
return batchSyncPartner(selectedRowKeys.value)
.then((res) => {
if (!isSuccessResponse(res)) {
message.error("批量同步失败");
return;
}
const count = res?.result || 0;
message.success(`批量同步完成,共同步 ${count} 条`);
selectedRows.value = [];
selectedRowKeys.value = [];
getList();
})
.finally(() => {
batchSyncLoading.value = false;
});
},
});
}
function handleDelete(row) {
Modal.confirm({
title: `确认删除【${row.customerNameC}】吗?`,