feat(T+): 完成数据贯通与自动接入闭环

打通 T+ 快照、业务、发货、回款和核算准备链路,保留来源差异并提供待补状态。
新增业务自动接入任务、跨平台读取服务托管、权限复核、来源关联和前端核对页面。
补充迁移、隔离集成测试、浏览器模拟验收及角色授权边界修复。
This commit is contained in:
liuwenxin committed 2026-11-05 18:47:13 +08:00
1 parent 3efe72c344
commit 1e53792ad6
151 files changed
+8842 -401

No files matched your search

@@ -32,7 +32,7 @@ async function submit(): Promise<void> {
</script>
<template>
<el-dialog v-model="visible" title="新建 T+ 数据任务" width="min(560px, 94vw)" :close-on-click-modal="!pending" :show-close="!pending">
<el-dialog v-model="visible" title="新建 T+ 数据任务" width="min(560px, 94vw)" :close-on-click-modal="!pending" :close-on-press-escape="!pending" :show-close="!pending">
<el-form label-position="top" :disabled="pending">
<el-form-item label="任务内容">
<el-radio-group v-model="taskType">
@@ -40,7 +40,8 @@ async function submit(): Promise<void> {
<el-radio-button value="AUDIT">关联检查</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item v-if="taskType === 'READ'" label="读取范围">
<el-form-item v-if="taskType === 'READ'">
<template #label><span>读取范围</span><span class="selection-count">已选 {{ selected.length }} 项</span></template>
<el-checkbox-group v-model="selected" class="entity-options">
<el-checkbox v-for="item in entities" :key="item.value" :value="item.value">{{ item.label }}</el-checkbox>
</el-checkbox-group>
@@ -55,6 +56,9 @@ async function submit(): Promise<void> {
</template>
<style scoped>
.entity-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
.task-note { color: var(--ys-ink-2); line-height: 1.7; }
.entity-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; width: 100%; }
.entity-options :deep(.el-checkbox) { margin: 0; min-height: 40px; height: auto; padding: 8px 10px; border: 1px solid var(--ys-line); border-radius: var(--ys-radius-sm); }
.entity-options :deep(.el-checkbox.is-checked) { border-color: var(--el-color-primary-light-7); background: var(--ys-indigo-wash); }
.selection-count { margin-left: auto; color: var(--ys-ink-3); font-size: 12px; }
.task-note { margin: 16px 0 0; padding-top: 16px; border-top: 1px solid var(--ys-line-soft); color: var(--ys-ink-2); font-size: 13px; line-height: 1.7; }
</style>