✨ 人员同步提示改为按工号入库并展示删除人数

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-21 15:36:34 +08:00
parent 1c798046fd
commit 6a21b4ac8d
+21 -6
View File
@@ -364,6 +364,10 @@
<span class="oa-sync-stat__label">跳过</span>
<span class="oa-sync-stat__value oa-sync-stat__value--skip">{{ oaSyncProgress.skipped }}</span>
</div>
<div class="oa-sync-stat">
<span class="oa-sync-stat__label">删除</span>
<span class="oa-sync-stat__value oa-sync-stat__value--remove">{{ oaSyncProgress.removed }}</span>
</div>
</div>
<div v-if="oaSyncProgress.dumpFilePath" class="oa-sync-meta">
原始数据 JSON:{{ oaSyncProgress.dumpFilePath }}
@@ -454,6 +458,7 @@ export default {
total: 0,
synced: 0,
skipped: 0,
removed: 0,
dumpFilePath: '',
},
page: {
@@ -692,17 +697,21 @@ export default {
});
},
handleOaPersonFullSync() {
this.$confirm('全量同步将拉取 OA 全部人员及组织;已存在且 OA 更新时间一致的记录会跳过。是否继续?', '全量同步', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
this.$confirm(
'全量同步将按 OA 对齐人员:有登录名的按登录名更新且不修改密码,没有登录名但有工号的也会入库且不回填登录名,部门按 OA 当前部门重绑,OA 中已不存在或已离职的删除。是否继续?',
'全量同步',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}
).then(() => {
this.startOaSync(false);
});
},
handleOaPersonIncrementalSync() {
this.$confirm(
'增量同步仅拉取本地最大 OA 更新时间之后有变更的人员;不存在的新增,已存在且更新时间不一致的修改,一致的跳过。是否继续?',
'增量同步仅拉取本地最大 OA 更新时间之后有变更的人员:已有的更新且不修改密码,没有的新增,部门按 OA 当前部门重绑,离职人员直接删除。是否继续?',
'增量同步',
{
confirmButtonText: '确定',
@@ -727,6 +736,7 @@ export default {
total: 0,
synced: 0,
skipped: 0,
removed: 0,
dumpFilePath: '',
};
this.runOaSyncPages();
@@ -762,6 +772,7 @@ export default {
this.oaSyncProgress.total = page.total || 0;
this.oaSyncProgress.synced += page.syncedCount || 0;
this.oaSyncProgress.skipped += page.skippedCount || 0;
this.oaSyncProgress.removed += page.removedCount || 0;
if (page.dumpFilePath) {
this.oaSyncProgress.dumpFilePath = page.dumpFilePath;
}
@@ -1492,6 +1503,10 @@ export default {
color: #909399;
}
.oa-sync-stat__value--remove {
color: #f56c6c;
}
.user-edit-dialog .el-form-item {
margin-bottom: 24px;
}