diff --git a/frontend/src/assets/img/dingtalk.png b/frontend/src/assets/img/dingtalk.png new file mode 100644 index 00000000..44b6cf07 Binary files /dev/null and b/frontend/src/assets/img/dingtalk.png differ diff --git a/frontend/src/assets/img/lark.png b/frontend/src/assets/img/lark.png new file mode 100644 index 00000000..82edd33c Binary files /dev/null and b/frontend/src/assets/img/lark.png differ diff --git a/frontend/src/assets/img/wechat.png b/frontend/src/assets/img/wechat.png new file mode 100644 index 00000000..f41ca1c9 Binary files /dev/null and b/frontend/src/assets/img/wechat.png differ diff --git a/frontend/src/assets/svg/avatar_organize.svg b/frontend/src/assets/svg/avatar_organize.svg new file mode 100644 index 00000000..2fe6321f --- /dev/null +++ b/frontend/src/assets/svg/avatar_organize.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/frontend/src/i18n/en.json b/frontend/src/i18n/en.json index d987f221..986f4dc0 100644 --- a/frontend/src/i18n/en.json +++ b/frontend/src/i18n/en.json @@ -7,6 +7,20 @@ "AI Model Configuration": "AI Model Config", "Details": "Details" }, + "sync": { + "sync_users": "Sync Users", + "sync_wechat_users": "Sync WeChat Users", + "sync_dingtalk_users": "Sync DingTalk Users", + "sync_lark_users": "Sync Lark Users", + "sync_complete": "Sync Complete", + "synced_10_users": "Successfully synced {num} users", + "failed_3_users": "Successfully synced {success} users, sync failed {failed} users", + "download_failure_list": "Download Failure List", + "sync_failed": "Sync Failed", + "failed_10_users": "Sync failed {num} users", + "continue_syncing": "Continue Syncing", + "return_to_view": "Return to View" + }, "parameter": { "execution_details": "Execution Details", "overview": "Overview", diff --git a/frontend/src/i18n/ko-KR.json b/frontend/src/i18n/ko-KR.json index 4d957b5c..ad417a11 100644 --- a/frontend/src/i18n/ko-KR.json +++ b/frontend/src/i18n/ko-KR.json @@ -7,6 +7,20 @@ "AI Model Configuration": "모델 구성", "Details": "세부" }, + "sync": { + "sync_users": "사용자 동기화", + "sync_wechat_users": "위챗 사용자 동기화", + "sync_dingtalk_users": "딩톡 사용자 동기화", + "sync_lark_users": "라크 사용자 동기화", + "sync_complete": "동기화 완료", + "synced_10_users": "{num}명 동기화 성공", + "failed_3_users": "{failed}명 동기화 성공, {success}명 동기화 실패", + "download_failure_list": "실패 목록 다운로드", + "sync_failed": "동기화 실패", + "failed_10_users": "{failed}명 동기화 실패", + "continue_syncing": "동기화 계속", + "return_to_view": "화면으로 돌아가기" + }, "parameter": { "execution_details": "실행 세부 정보", "overview": "개요", diff --git a/frontend/src/i18n/zh-CN.json b/frontend/src/i18n/zh-CN.json index 4c13744d..d765ca91 100644 --- a/frontend/src/i18n/zh-CN.json +++ b/frontend/src/i18n/zh-CN.json @@ -7,6 +7,20 @@ "AI Model Configuration": "模型配置", "Details": "详情" }, + "sync": { + "sync_users": "同步用户", + "sync_wechat_users": "同步企业微信用户", + "sync_dingtalk_users": "同步钉钉用户", + "sync_lark_users": "同步飞书用户", + "sync_complete": "同步完成", + "synced_10_users": "成功同步 {num} 个用户", + "failed_3_users": "成功同步 {success} 个用户,同步失败 {failed} 个用户,", + "download_failure_list": "下载失败列表", + "sync_failed": "同步失败", + "failed_10_users": "同步失败 {num} 个用户,", + "continue_syncing": "继续同步", + "return_to_view": "返回查看" + }, "parameter": { "execution_details": "执行详情", "overview": "概览", @@ -890,4 +904,4 @@ "to_doc": "查看 API", "trigger_limit": "最多支持创建 {0} 个 API Key" } -} +} \ No newline at end of file diff --git a/frontend/src/views/system/user/SyncUser.vue b/frontend/src/views/system/user/SyncUser.vue new file mode 100644 index 00000000..84b8526f --- /dev/null +++ b/frontend/src/views/system/user/SyncUser.vue @@ -0,0 +1,365 @@ + + + + + + + + + + + + + + + {{ $t('datasource.select_all') }} + + + + + + + + + {{ space.name }} + ({{ space.account }}) + + + + + + + {{ $t(!!search ? 'dashboard.no_data' : 'qa.no_data') }} + + + + + + + {{ $t('workspace.selected_2_people', { msg: checkTableList.length }) }} + + + + {{ $t('workspace.clear') }} + + + + + + + + {{ + ele.name + }} + ({{ ele.account }}) + + + + + + + + + + + {{ $t('common.cancel') }} + {{ + $t('common.confirm2') + }} + + {{ $t('common.confirm2') }} + + + + + + + diff --git a/frontend/src/views/system/user/SyncUserDing.vue b/frontend/src/views/system/user/SyncUserDing.vue new file mode 100644 index 00000000..94026736 --- /dev/null +++ b/frontend/src/views/system/user/SyncUserDing.vue @@ -0,0 +1,377 @@ + + + + + + + + + + + + + + + + + + + + + {{ node.label }} + ({{ node.id }}) + + + + + {{ $t(!!search ? 'dashboard.no_data' : 'qa.no_data') }} + + + + + + + + {{ $t('workspace.selected_2_people', { msg: checkTableList.length }) }} + + + + {{ $t('workspace.clear') }} + + + + + + + + {{ + ele.name + }} + ({{ ele.account }}) + + + + + + + + + + + {{ $t('common.cancel') }} + {{ + $t('common.confirm2') + }} + + {{ $t('common.confirm2') }} + + + + + + + diff --git a/frontend/src/views/system/user/User.vue b/frontend/src/views/system/user/User.vue index be56d30f..c6a5b77f 100644 --- a/frontend/src/views/system/user/User.vue +++ b/frontend/src/views/system/user/User.vue @@ -23,6 +23,25 @@ {{ $t('user.filter') }} + + + + + + + + {{ t('sync.sync_users') }} + + + + + + {{ $t(ele.name) }} + + + +